数据库
首页 > 数据库> > redis lettuce 调优

redis lettuce 调优

作者:互联网

合理的参数设置可以为你的redis客户端保驾护航,下面将对lettuce使用的一些重要参数进行说明和建议

序号

参数名

含义

默认值

使用建议

序号

参数名

含义

默认值

使用建议

1
enableAllAdaptiveRefreshTriggers
redis cluster客户端更新拓扑结构的策略默认无刷新策略使用enableAllAdaptiveRefreshTriggers开启所有的RefreshTriggers
2
closeStaleConnections
当刷新拓扑结构后,关闭旧的连接truetrue 建议使用true,减少不必要的连接
3
enablePeriodicRefresh
refreshPeriod
周期性刷新拓扑结构

false

60s

false

10s

4
refreshTriggersReconnectAttempts
刷新拓扑结构前获取连接的最大重试次数52
5
adaptiveRefreshTriggersTimeout
刷新拓扑结构请求的超时时间30s1000ms
6
autoReconnect
连接断开是否进行重新连接true

true

自动重连在面对各种复杂网络情况下是非常有必要的。但是需要关注的是每次重连失败后,后续尝试再次重连的时间间隔会变长,且这是个无限循环,无限失败的情况下,间隔时间太长会是个隐患。

7
cancelCommandsOnReconnectFailure
取消命令当重连失败时false

false

这是一个需要自己评估的参数,当能接受命令可以失败的情况的话,可以开启。但是针对更多实用场景建议false。

8
disconnectedBehavior
当处于断连状态时,对命令的不同执行情况进行设置
DisconnectedBehavior.Default
DisconnectedBehavior.Default

重连成功,则接受命令,失败则拒绝执行命令

9
readFrom
可以优先或者选择从Master/Replica去读数据,进行读写分离默认可不配置,此时使用当前连接去读数据
ReadFrom.MASTER
目前不支持读写分离,显式配置使用Master去读连接
10
commandTimeout
命令的超时时间60s

100ms

常规的操作应该限定在一个非常小的时间里

11
shutdownTimeout
客户端关闭的超时时间100ms

100ms

使用默认的配置即可

12
setValidateConnection
设置是否开启有效连接,开启时当连接失败时会创建新的连接,但是每次执行命令会多一次Ping的开销falsefalse 依据当前使用场景来定,当处于一个高qps场景下,ping命令造成的开销也是不可忽略的
13
-Dio.netty.eventLoopThreads
设置netty客户端io线程池、计算线程池大小
Math.max(1, SystemPropertyUtil.getInt("io.netty.eventLoopThreads",
 Math.max(MIN_IO_THREADS, Runtime.getRuntime().availableProcessors())))
使用默认值

标签:false,拓扑,redis,lettuce,调优,使用,重连,连接,客户端
来源: https://blog.csdn.net/u012693823/article/details/119041939