我正在使用 redis.py 开发一个项目,当我将应用程序连接到 Redis 客户端时工作,但使用 StrictRedis 失败。
所以,我想知道两者之间的区别,但没有得到满意的答案。
我的项目在这里:https ://github.com/kxxoling/librorum中文注释抱歉!
Redis 官方命令文档很好地详细解释了每个命令。redis-py 公开了两个实现这些命令的客户端类。
StrictRedis 类尝试遵守官方命令语法。
StrictRedis 也没有向后兼容性:
除了上述更改之外,StrictRedis 的子类 Redis 类覆盖了其他几个命令,以提供与旧版本 redis-py 的向后兼容性:
LREM
:num
和value
参数的顺序颠倒,这样 'num' 可以提供一个默认值为零。ZADD
: Redis 指定了score
之前的参数value
。这些是在实施时意外交换的,直到人们已经使用它之后才发现。Redis 类期望*args
的形式为:name1
,score1
,name2
,score2
, ...SETEX
: 顺序time
和value
论点颠倒了。
Redis
因此,如果您使用redis-py
了很长时间,则应该坚持上课-它的某些命令的参数顺序更改为看起来更像 Pythonic(甚至是偶然的)。
在源代码 ( client.py:class Redis ) 中,您可以看到已更改的内容。