溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Redisson怎么在SpringBoot中使用

發(fā)布時(shí)間:2021-05-25 16:10:56 來(lái)源:億速云 閱讀:996 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)Redisson怎么在SpringBoot中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Redisson、Jedis、Lettuce優(yōu)缺點(diǎn)對(duì)比

(1)Redisson

優(yōu)點(diǎn):
實(shí)現(xiàn)了分布式特性和可擴(kuò)展的 Java 數(shù)據(jù)結(jié)構(gòu),適合分布式開(kāi)發(fā);
API線程安全;
基于Netty框架的事件驅(qū)動(dòng)的通信,可異步調(diào)用。

缺點(diǎn):
API更抽象,學(xué)習(xí)使用成本高。

(2)Jedis

優(yōu)點(diǎn):
提供了比較全面的Redis操作特性的API
API基本與Redis的指令一一對(duì)應(yīng),使用簡(jiǎn)單易理解。

缺點(diǎn):
同步阻塞IO;
不支持異步;
線程不安全。

(3)Lettuce

優(yōu)點(diǎn):
線程安全;
基于Netty 框架的事件驅(qū)動(dòng)的通信,可異步調(diào)用;
適用于分布式緩存。

缺點(diǎn):
API更抽象,學(xué)習(xí)使用成本高。

其中Jedis是用的最普遍的(確實(shí)非常簡(jiǎn)單),特別是很多單體應(yīng)用或者偽分布式應(yīng)用等。

SpringBoot整合Redisson

1.添加Maven依賴

<!-- redisson-springboot -->
   <dependency>
       <groupId>org.redisson</groupId>
       <artifactId>redisson-spring-boot-starter</artifactId>
       <version>3.11.4</version>
   </dependency>

2.配置文件

spring:
  redis:
    host: 127.0.0.1
    port: 6379
    database: 0
    timeout: 5000

3.添加配置類

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Configuration
public class RedissonConfig {

    @Autowired
    private RedisProperties redisProperties;

    @Bean
    public RedissonClient redissonClient() {
        Config config = new Config();
        String redisUrl = String.format("redis://%s:%s", redisProperties.getHost() + "", redisProperties.getPort() + "");
        config.useSingleServer().setAddress(redisUrl).setPassword(redisProperties.getPassword());
        config.useSingleServer().setDatabase(3);
        return Redisson.create(config);
    }

}

4.代碼測(cè)試(簡(jiǎn)單的存取)

import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/redisson")
public class RedissonController {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @GetMapping("/save")
    public String save(){
        stringRedisTemplate.opsForValue().set("key","redisson");
        return "save ok";
    }

    @GetMapping("/get")
    public String get(){
        return stringRedisTemplate.opsForValue().get("key");
    }

}

springboot是什么

springboot一種全新的編程規(guī)范,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程,SpringBoot也是一個(gè)服務(wù)于框架的框架,服務(wù)范圍是簡(jiǎn)化配置文件。

看完上述內(nèi)容,你們對(duì)Redisson怎么在SpringBoot中使用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI