redis 如何检测连接已经断开?

2014-08-08 15:15:02 +08:00
 haython
使用的python的客户端,添加了订阅事件,网络连接突然断了,但是代码还在正常运行,也没报错,如何能快速检测到当前客户端已经与redis的连接已经断开了呢?或者让代码报错也行
14847 次点击
所在节点    Redis
7 条回复
yibin001
2014-08-08 15:49:06 +08:00
定时发ping命令?
Zuckonit
2014-08-08 16:15:00 +08:00
这个问题我也遇到, 不过我是通过定时去取某一个key来判断是否存活
vjnjc
2014-08-08 18:41:52 +08:00
@Zuckonit +1,我也這麼做,不過感覺不太科學
skybr
2014-08-08 18:51:36 +08:00
我试了下, listen之后stop掉redis-server会报ConnectionError啊
haython
2014-08-08 23:53:14 +08:00
@skybr 我说的是网络断开的情况,不是关闭redis
mengskysama
2014-08-09 01:44:42 +08:00
@skybr 这个是正确断开的情况,这个会发送一个正确关闭的包的。网络断开是没办法探测到的。

这个不好搞的
Zuckonit
2014-08-09 22:11:02 +08:00
@vjnjc 这样类似heartbeat, 挺科学的, API里也没有好用的方法。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/126781

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX