SpringBoot整合Redisson的步驟(單機版)
Redisson、Jedis、Lettuce優缺點對比
(1)Redisson
優點:
實現瞭分佈式特性和可擴展的 Java 數據結構,適合分佈式開發;
API線程安全;
基於Netty框架的事件驅動的通信,可異步調用。
缺點:
API更抽象,學習使用成本高。
(2)Jedis
優點:
提供瞭比較全面的Redis操作特性的API
API基本與Redis的指令一一對應,使用簡單易理解。
缺點:
同步阻塞IO;
不支持異步;
線程不安全。
(3)Lettuce
優點:
線程安全;
基於Netty 框架的事件驅動的通信,可異步調用;
適用於分佈式緩存。
缺點:
API更抽象,學習使用成本高。
其中Jedis是用的最普遍的(確實非常簡單),特別是很多單體應用或者偽分佈式應用等。
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.代碼測試(簡單的存取)
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整合Redisson的步驟(單機版)的詳細內容,更多關於SpringBoot整合Redisson的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Java Redis Redisson配置教程詳解
- Redisson 主從一致性問題詳解
- SpringBoot基於Redis的分佈式鎖實現過程記錄
- redisson分佈式鎖的用法大全
- SpringBoot+Redis哨兵模式的實現