redis lettuce 调优
合理的参数设置可以为你的redis客户端保驾护航,下面将对lettuce使用的一些重要参数进行说明和建议序号参数名含义默认值使用建议序号参数名含义默认值使用建议1enableAllAdaptiveRefreshTriggersredis
·
合理的参数设置可以为你的redis客户端保驾护航,下面将对lettuce使用的一些重要参数进行说明和建议
序号 |
参数名 |
含义 |
默认值 |
使用建议 |
---|---|---|---|---|
序号 |
参数名 |
含义 |
默认值 |
使用建议 |
1 |
enableAllAdaptiveRefreshTriggers |
redis cluster客户端更新拓扑结构的策略 | 默认无刷新策略 | 使用enableAllAdaptiveRefreshTriggers开启所有的RefreshTriggers |
2 |
closeStaleConnections |
当刷新拓扑结构后,关闭旧的连接 | true | true 建议使用true,减少不必要的连接 |
3 |
enablePeriodicRefresh refreshPeriod |
周期性刷新拓扑结构 |
false 60s |
false 10s |
4 |
refreshTriggersReconnectAttempts |
刷新拓扑结构前获取连接的最大重试次数 | 5 | 2 |
5 |
adaptiveRefreshTriggersTimeout |
刷新拓扑结构请求的超时时间 | 30s | 1000ms |
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的开销 | false | false 依据当前使用场景来定,当处于一个高qps场景下,ping命令造成的开销也是不可忽略的 |
13 |
-Dio.netty.eventLoopThreads |
设置netty客户端io线程池、计算线程池大小 |
Math.max(1, SystemPropertyUtil.getInt("io.netty.eventLoopThreads", Math.max(MIN_IO_THREADS, Runtime.getRuntime().availableProcessors()))) |
使用默认值 |
更多推荐
所有评论(0)