springboot集成redis( lettuce + redisson) 实现redis存储和分布式锁

当你看到这篇文章的时候,心里会想同一个项目为啥要用2个不同的redis客户端工具,是不是有什么大病???
jedis:客户端实例不是线程安全的,需要借助连接池来管理和使用 Jedis,还有它是阻塞的I/O。不支持异步。
lettuce:首先它是异步和非阻塞的,还支持多种特性,例如:事务、流水线操作、发布/订阅、Lua 脚本等
redisson:对字符串的支持比较差,不支持排序、事务、管道、分区等
所以综上所述,lettuce + redisson 一起使用且不是美滋滋吗?

提前准备

  • 使用的springboot版本3.2.7,引入依赖
  <!-- redisson ,排除了lettuce,jedis客户端 -->
 <dependency>
       <groupId>org.redisson</groupId>
       <artifactId>redisson-spring-boot-starter</artifactId>
       <version>3.32.0</version>
</dependency>


 <!-- redis : ,spring boot 默认使用lettuce客户端 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
 </dependency>

配置lettuce

配置yml

spring:
  data:
    redis:
      host: localhost
      port: 6379
      timeout: 10s
      password: redis@123
      database: 12
      lettuce:
          pool:
            # 连接池中的最小空闲连接
            min-idle: 0
            # 连接池中的最大空闲连接
            max-idle: 8
            # 连接池的最大数据库连接数
            max-active: 8
            # #连接池最大阻塞等待时间(使用负值表示没有限制)
            max-wait: -1ms

编写redis配置文件 RedisConfig

@Configuration
@EnableCaching
public class RedisConfig {
   
   

    @Bean
    @SuppressWarnings(value = {
   
    "unchecked", "rawtypes" })
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
    {
   
   
        RedisTemplate<Object, Object> template = new RedisTemplate<>();
        template.setConnectionFactory(connectionFactory);

        FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class);
        // 使用StringRedisSerializer来序列化和反序列化redis的key值
        template.setKeySerializer(new StringRedisSerializer());
        template.setValueSerializer(serializer);

        // Hash的key也采用StringRedisSerializer的序列化方式
        template.setHashKeySerializer(new StringRedisSerializer());
        template.setHashValueSerializer(serializer);

        template.afterPropertiesSet();
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值