我正在寻找一种方法来检查 redis 实例(在具有默认端口的本地计算机上)是否正在运行。如果没有,我想从我的 python 代码开始。
问问题
2020 次
3 回答
4
如果你启动了一个 redis 客户端,你可以先尝试 ping——如果你得到一个,redis.exceptions.ConnectionError
那么服务可能没有运行。以下是此类功能的示例。还有其他方法可以获得类似或更可靠的结果——这只是一种简单的方法。另请注意,这不会告诉您是否设置了特定密钥或有关 redis 设置的任何信息。它只会告诉您本地主机上是否有实时 redis 服务器。
def redisLocalhostLive():
redtest = redis.StrictRedis() # non-default ports could go here
try:
return redtest.ping()
except ConnectionError:
return False
于 2013-03-15T18:46:58.723 回答
2
gah,Pyrce 击败了我,给出了类似的答案。无论如何发布:
import redis
server = redis.Redis()
try:
server.ping()
except redis.exceptions.ConnectionError:
# your redis start command here
于 2013-03-15T19:05:30.057 回答
1
一种方法是使用 psutil,这是一个 Python 模块,它提供了一种跨平台的方式来检索正在运行的进程的信息。
>>> import psutil
>>> processes = psutil.process_iter() # Get all running processes
>>> if any(process.name == 'redis-server' for process in processes):
... print "redis is running"
...
redis is running
于 2013-03-15T19:12:06.197 回答