关于python:检查Redis的版本

Check the version of Redis

我想查看redis的版本,
它可以在命令行

上完成

1
2
In [181]: !redis-server --version
Redis server v=4.0.10 sha=00000000:0 malloc=libc bits=64 build=ea14acb2d1b3b56f

但是,当它返回redis-py的版本而不是

时的redis版本

1
2
In [184]: redis.__version__
Out[184]: '2.10.6

这可以通过怪异的方式实现

1
2
3
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)

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


Redis使用INFO命令来获取有关服务器的所有信息:

1
2
3
4
import redis

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

在cli中,您可以使用以下命令

1
redis-cli info

样本输出

1
2
3
4
5
6
7
8
9
10
11
# Server
redis_version:4.0.1
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:f37081b32886670b
redis_mode:standalone
os:Darwin 16.7.0 x86_64
arch_bits:64
multiplexing_api:kqueue
atomicvar_api:atomic-builtin
gcc_version:4.2.1

或者如果您需要版本,可以尝试使用管道cmd

1
redis-cli info | grep"redis_version"

输出

1
redis_version:4.0.1

我希望这会有所帮助