SpringBoot整合Redis默认使用Lettuce连接池、推荐连接池参数配置规则,常用数据类型使用场景

一、POM配置依赖包如下:

        <!-- spring boot starter data redis 依赖 (lettuce配合 commons-pool2 对象池) -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

二、连接Redis服务配置

1、方式一(推荐此方式)

spring:
  redis:
    host: xxx             # Redis服务器地址
    port: 6379            # Redis服务器连接端口
    password: 123456      # Redis服务器连接密码(默认为空)
    database: 0           # Redis数据库索引(默认为0)
    timeout: 60s          # 连接空闲超过N(s秒、ms毫秒)后关闭,0为禁用,这里配置值和tcp-keepalive值一致
    # 默认使用 lettuce 连接池
    lettuce:
      pool:
        max-active: 10  # 允许最大连接数,默认8(负值表示没有限制)
        max-idle: 8     # 最大空闲连接数,默认8
        min-idle: 0     # 最小空闲连接数,默认0
        max-wait: 5s    # 连接用完时,新的请求等待时间(s秒、ms毫秒),超过该时间抛出异常JedisConnectionException,(默认-1,负值表示没有限制)
        #time-between-eviction-runs: 1s

推荐连接池参数规则(cpu指核数):
1、max-active:大于cpu * 2,通常为(cpu * 2) + 2
2、max-idle:cpu * 2
3、min-idle:0
4、max-wait:5s(秒)
5、time-between-eviction-runs:1s(秒)

参考:
如果连接中时间报连接中断或超时,可以参考:
https://blog.csdn.net/hkl_Forever/article/details/128195713

注意:
1、推荐 lettuce 连接池,线程安全并且支持异步非阻塞请求
2、合理配置 lettuce 连接池参数,一般不会出现过段时间就断开连接的现象

三、redis 常用数据类型使用场景
String:存短信验证码、缓存、计数器、分布式session
List:发布订阅等
Set:共同好友、点赞或点踩等
Hash:存储对象
Zset:排行榜
HyperLogLog:在线用户数、统计访问量等
GeoHash:同城的人、同城的店等
BitMap:签到打卡、活跃用户等

  • 5
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring Boot 2.0中,默认使用Lettuce客户端来连接Redis服务。默认情况下,不使用连接池,只有在配置`redis.lettuce.pool`属性后才能使用Redis连接池使用连接池可以提升性能。例如,在插入1万条数据时,如果配置连接池,执行速度会比没有配置连接池快很多[2]。 在Spring Boot中,使用Lettuce连接池时,可以配置连接池的大小。比如,如果当前连接池中已经有3个连接,再加上当前查询窗口的连接,一共就是4个socket连接。通过配置连接池大小,可以控制同时处理的连接数,以及减少与Redis服务器的重复建立和断开连接的开销。 综上所述,Spring Boot整合Redis连接池可以通过配置`redis.lettuce.pool`属性来启用,并且可以提升性能和优化连接管理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [SpringBoot 配置 Redis 连接池](https://blog.csdn.net/web18334137065/article/details/126114299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [springboot2整合redis使用lettuce连接池(解决lettuce连接池无效问题)](https://blog.csdn.net/qq_41921994/article/details/109627736)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值