redis断线重连代码详解

发布时间:2020-05-08 17:59:39

来源:亿速云

阅读:459

作者:Leah

redis断线怎么重连?这个问题可能是我们日常工作经常遇到的。本篇文章主要探讨redis断线重连的解决方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

882de7f9488e688aa122c5b8f6ed4269.png

应用在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断线重连的方法了吗?如果想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐