redis - 重启后重新连接到 Redis

标签 redis fault-tolerance jedis

我有一堆连接到 Redis 服务器(使用 Jedis)的长时间运行的进程。只要我不重启运行 Redis 的机器或重启 Redis 服务器,一切都正常。一旦我重新启动或重新启动,连接就会丢失。在 Redis/Jedis 中是否有处理此用例的标准方法,或者我是否需要自己将此逻辑放入我的所有客户中?

最佳答案

Redis 失败/连接断开
在这种情况下,redis 在您的进程保持事件状态时关闭或断开连接。为确保进程获得良好的连接,请在 jedis 连接/池配置中使用 testOnBorrow=true。 Jedis 会在使用之前用'PING'测试每个连接;如果 redis 没有响应,连接将被丢弃,它将尝试另一个连接。

机器重启/重启(不是redis)
如果应用程序节点失败或重新启动,您的“进程”应该配置为在重新启动时自动重新启动(如果这是您想要的行为),或者有人手动启动它。无论哪种情况,我都希望您的进程在执行任何实际工作之前创建并初始化一个新的 jedis 连接……那么除此之外您还需要什么?

关于redis - 重启后重新连接到 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18107146/

相关文章:

fault - 软件容错

redis - JedisConnectionFactory setHostName 已弃用

redis - 如何保护 Redis key ?

redis - go/golang + redis 打开文件太多错误

python - Redis 作为队列 - 批量检索

design-patterns - 具有检查点和恢复的事务服务的设计模式

java - Redis中不同的连接异常

c# - Redis 缓存静态列表按过滤器搜索

memory - 分析Redis内存使用情况

python - tensorflow 监控 session 使用情况