redis断线重连
时间:2020-09-22 03:00:06
作者:重庆seo小潘
来源:
应用在Redis重启、网络闪断并恢复正常后,应用必须能够自恢复,下面以Java语言的jedis客户端为例说明: 1、作为发布者 Jedis对象不能作为单例,网络闪断后该Jedis对象无法自恢复。应该每次发布消息时,从JedisPool中取Jedis对象,再调用set方法。 2、作为订
应用在Redis重启、网络闪断并恢复正常后,应用必须能够自恢复,下面以Java语言的jedis客户端为例说明:
1、作为发布者
Jedis对象不能作为单例,网络闪断后该Jedis对象无法自恢复。应该每次发布消息时,从JedisPool中取Jedis对象,再调用set方法。
2、作为订阅者
当网络闪断后psubscribe()方法不再阻塞并抛出异常,所以可以使用while循环,在循环内部处理异常,代码如下:while(true){Jedis redis = this.jedisPool.getResource();try{redis.psubscribe(this, channelArray);}catch(JedisConnectionException e){logger.warn("Exception :", e);logger.warn("Exit redis psubscribe, retry after 1 second");}catch(Exception e){logger.error("Exception:", e);}try{Thread.sleep(1000);}catch(Exception unused){}try{if(redis != null){redis.close();}}catch(Exception unused){}}更多redis知识请关注redis入门教程栏目。以上就是redis断线重连的详细内容,更多请关注小潘博客其它相关文章!