检查Redis的版本

Alg*_*bra 1 python redis

我想检查redis的版本,
可以在命令行上完成

In [181]: !redis-server --version
Redis server v=4.0.10 sha=00000000:0 malloc=libc bits=64 build=ea14acb2d1b3b56f
Run Code Online (Sandbox Code Playgroud)

但是,当返回redis-py的版本而不是redis版本时,如果

In [184]: redis.__version__
Out[184]: '2.10.6
Run Code Online (Sandbox Code Playgroud)

可以用怪异的方式实现

In [186]: subprocess.run("redis-server --version", shell=True)
Redis server v=4.0.10 sha=00000000:0 malloc=libc bits=64 build=ea14acb2d1b3b56f
Out[186]: CompletedProcess(args='redis-server --version', returncode=0)
Run Code Online (Sandbox Code Playgroud)

如何直接用纯代码检查redis的版本?

Cha*_*One 5

Redis具有INFO用于获取有关服务器的各种信息的命令:

import redis

r = redis.StrictRedis(host='localhost', port=6379, db=0)
print(r.execute_command('INFO')['redis_version'])
Run Code Online (Sandbox Code Playgroud)