- retryAttempts:重试次数,默认为 3 。
- retryInterval:重试间隔,默认为 1,500 毫秒 。
Config config= new Config;
config.useSingleServer
.setTimeout(1000)
.setRetryAttempts(3)
.setRetryInterval(1500) //ms
.setAddress("redis://127.0.0.1:6379");
RedissonClient connect = Redisson.create(config);
5 StackExchange.Redis
StackExchang.Redis 客户端目前仅支持重试时连接 , 重试示例如下:
varconn = ConnectionMultiplexer.Connect("redis0:6380,redis1:6380,connectRetry=3");
说明
如需实现 API 级别的重试策略,请参见 Polly 。
6 Lettuce
Lettuce 客户端未提供在命令超时后重试的参数 , 但是您可以通过下述参数来实现命令重试策略:
- at-most-once execution:命令最多执行 1 次 , 即 0 次或 1 次 , 如果连接断开并重新连接,命令可能会丢失 。
- at-least-once execution(默认):最少成功执行 1 次,即可能会在执行时进行多次尝试,保障最少成功执行 1 次 。使用此策略时,如果 TAIr 实例发生了主备切换,此时客户端可能累积了较多的重试命令,主备切换完成后可能会引发 Tair 实例的 CPU 使用率激增 。
更多信息,请参见 Client-Options( https://Github.com/lettuce-io/lettuce-core/wiki/Client-Options) 和 Command execution reliability( https://github.com/lettuce-io/lettuce-core/wiki/Command-execution-reliability) 。重试示例:
clientOptions.isAutoReconnect? Reliability.AT_LEAST_ONCE: Reliability.AT_MOST_ONCE;
参考:
- https://help.aliyun.com/zh/redis/use-cases/retry-mechanisms-for-redis-clients
- 通过客户端程序连接 Redis
- 客户端程序 TLS(SSL)加密连接 Redis
【大厂都是怎么做Redis重试的?】
推荐阅读
- 如何制作连环衣钩 连环鱼钩怎么绑?
- 微波炉不转了怎么回事 微波炉转盘不转了怎么回事
- 抖店商品卡怎么推广?怎么带来流量?
- 微波炉突然不加热啦是怎么回事 微波炉运转正常不加热的解决办法
- pps怎么下载电影 pps下载的视频是什么格式
- xbox无法登录怎么办 xbox登录不了问题解决方法
- steam怎么换区 steam两种转区方法介绍
- steamdeck游戏下载慢怎么办 steamdeck下载失败问题解决方法
- switch联网连不上怎么解决?switch联网问题这样解决
- 兔子味道大,想养一只兔子我应该喂它吃什么才没那么大的异味笼养好还是散养好会不会乱跑会经常生病我应该怎么做