重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
redis断线怎么重连?这个问题可能是我们日常工作经常遇到的。本篇文章主要探讨redis断线重连的解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
创新互联建站是专业的紫金网站建设公司,紫金接单;提供网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行紫金网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
应用在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断线重连的方法了吗?如果想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!