关于redis持久连接问题

ayamzh

如果像mysql那样用单例模式初始化redis连接对象,存不存在类似mysql gone away这种超时问

5855 7 0
7个回答

walkor

redis底层会自动重连,但是按照经验来看,redis扩展底层的重连并十分不可靠,还是有连不上的状况。最好是在底层判断下异常,然后重连重试一次。

  • 暂无评论
ayamzh

了解了,那这个连接异常的返回值是什么啊,您这边有处理过么。我客户端用的是php-redis。

  • 暂无评论
walkor

redis出错抛异常,截获下异常重连并重试一次就好。
当然能够区分下异常做相应处理就更好了,不过我这没有异常对应表。

如果你那里总结出来了欢迎贴到问答里面,方便后来人查阅,感激不尽。

ayamzh

间隔了2天后 去操作redis连接对象,没有报异常,这个是不是不会出现mysql gone away这类问题啊。。。

  • 暂无评论
walkor

redis扩展底层会自动重连,但是不是十分可靠。
另外如果redis服务端如果设置timeout=0,redis服务端并不会主动关闭redis链接

  • 暂无评论
ayamzh

这问题还真不好解决。。因为没遇到过他抛出的异常,所以也没法做异常处理。。。

  • 暂无评论
hq

哭,一直被这个问题困扰

  • 暂无评论
年代过于久远,无法发表回答
🔝