我有很多长时间运行的进程连接到Redis服务器(使用Jedis)。只要我不重启运行Redis的计算机或重新启动Redis服务器,一切正常。一旦重新启动或重新启动,连接就会丢失。在Redis / Jedis中是否存在处理此用例的标准方法,或者我是否需要将此逻辑放在我的所有客户端?
答案 0 :(得分:4)
Redis失败/连接断开
在这种情况下,当您的进程保持活动状态时,redis会关闭或断开连接。要确保进程获得良好连接,请在jedis connection / pool config中使用testOnBorrow=true
。在使用之前,Jedis将使用'PING'测试每个连接;如果redis没有响应,则连接被丢弃,它将尝试另一个连接。
机器重启/重启(不是重启)
如果应用程序节点出现故障或重新启动,则应将“进程”配置为在重新引导时自动重新启动(如果这是您希望的行为),或者有人手动启动它。在任何一种情况下,我都希望你的进程在它完成任何实际工作之前创建并初始化一个新的jedis连接......那么你还需要什么呢?