Redis和StrictRedis的API有什么区别?

kxx*_*ing 2 python redis redis-py

我正在使用 redis.py 开发一个项目,当我将应用程序连接到 Redis 客户端时,我可以工作,但使用 StrictRedis 失败了。

所以,我想知道两者之间的区别,但搜索没有满意的答案。

我的项目在这里: https: //github.com/kxxoling/librorum抱歉中文注释!

Igo*_*ist 5

来自redis-py 自述文件

Redis 官方命令文档非常详细地解释了每个命令。redis-py 公开了两个实现这些命令的客户端类。
StrictRedis 类尝试遵守官方命令语法。

StrictRedis 也没有向后兼容性:

除了上述更改之外,Redis 类(StrictRedis 的子类)覆盖了其他几个命令,以提供与旧版本 redis-py 的向后兼容性:

  • LREM:参数numvalue参数的顺序颠倒,以便“num”可以提供默认值零。
  • ZADD:Redis 指定 score之前的参数value。这些在实施时被意外交换,直到人们已经使用它之后才被发现。Redis 类期望的*args形式为:name1, score1, name2, score2, ...
  • SETEXtime:和 参数的顺序value颠倒。

Redis因此,如果你已经使用了redis-py很长一段时间,你应该坚持使用类 - 它有一些命令的参数顺序改变,看起来更Pythonic(或者甚至是偶然的)。

在源代码(client.py:class Redis)中,您可以看到已更改的内容。