首页 > 数据库 > Redis > redis断线重连

redis断线重连

发布: 2020-04-24 09:13:33
转载
3314 人浏览过

redis断线重连

应用在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断线重连的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:cnblogs.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板