2015-02-06 76 views

回答

3

redis-py README

官方Redis的命令文檔中則詳細解釋每個命令的一個偉大的工作。 redis-py公開了兩個實現這些命令的客戶端類。
StrictRedis類嘗試遵守官方命令語法。

StrictRedis還具有沒有向後兼容性:

除了上述變動,Redis的類,StrictRedis的子類,將覆蓋其他幾個命令來提供與舊版本的Redis的向後兼容 - 吡咯:

  • LREM:中numvalue參數順序顛倒,使得 '民' 可以提供零的默認值。
  • ZADD:Redis指定value之前的參數 score。當 正在實施,並且直到人們已經使用 後才被發現,這些被意外更換。 Redis的類預計的形式*argsname1score1name2score2,...
  • SETEX:逆轉timevalue參數秩序。

所以,你應該堅持Redis類,如果你已經使用redis-py很長一段時間 - 它有一些命令參數的順序改爲似乎更Python(或哪怕是無意的)。

在這裏的源代碼(client.py:class Redis),你可以看到有什麼改變。

+0

這意味着他們幾乎沒有聯繫? Redis適用於較老的Redis,而StrictRedis適用於新版本(從哪個版本開始)? – kxxoling 2015-02-09 06:24:06

+0

@kxxoling他們幾乎是一樣的,只有微小的差異。我不確定從哪個版本中刪除了向後兼容性,但文檔和源代碼都包含了它。我更新了我的答案。 – 2015-02-09 10:48:28

+0

Redis是StrictRedis的一個子類,所不同的是它提供的包裝方法。在我的情況下,我濫用zadd,爭論顛倒了。我真是一個愚蠢的人! – kxxoling 2015-02-09 12:11:13