我正在开发一个用于访问 Redis 服务器的 Python 服务(类)。我想知道如何检查Redis服务器是否正在运行。而且如果不知何故我无法连接到它。
这是我的代码的一部分
import redis
rs = redis.Redis("localhost")
print rs
它打印以下内容
<redis.client.Redis object at 0x120ba50>
即使我的 Redis 服务器没有运行。
因为我发现我的 Python 代码仅当我执行以下操作时才连接到服务器set() or get()与我的 redis 实例。
所以我不希望其他服务使用我的类得到异常说
redis.exceptions.ConnectionError: Error 111 connecting localhost:6379. Connection refused.
我想返回正确的消息/错误代码。我怎样才能做到这一点??
如果您想在启动时测试一次 redis 连接,请使用ping()
命令。
from redis import Redis
redis_host = '127.0.0.1'
r = Redis(redis_host, socket_connect_timeout=1) # short timeout for the test
r.ping()
print('connected to redis "{}"'.format(redis_host))
命令ping()
检查连接,如果无效将引发异常。
- 注意 - 执行测试后连接可能仍会失败,因此这不会掩盖以后的超时异常。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)