一尘不染

Python-如何检查Redis服务器是否可用

redis

我正在开发用于访问Redis服务器的Python服务(类)。我想知道如何检查Redis Server是否正在运行。而且如果某种原因我无法连接到它。

这是我的代码的一部分

import redis
rs = redis.Redis("localhost")
print rs

它打印以下内容

<redis.client.Redis object at 0x120ba50>

即使我的Redis服务器未运行。

当我发现我的Python代码仅在对redis实例执行 set()get() 时才连接到服务器。

所以我不希望其他服务使用我的类来获得异常说

redis.exceptions.ConnectionError: Error 111 connecting localhost:6379. Connection refused.

我想返回正确的消息/错误代码。我怎样才能做到这一点??


阅读 669

收藏
2020-06-20

共1个答案

一尘不染

检查Redis服务器可用性的官方方法是ping(http://redis.io/topics/quickstart)。

一种解决方案是对redis进行子类化,并做两件事:

  1. 在实例化时检查连接
  2. 在发出请求时没有连接的情况下编写异常处理程序
2020-06-20