Redis
 sql >> база данни >  >> NoSQL >> Redis

redis-py :Каква е разликата между StrictRedis() и Redis()?

РЕДАКТИРАНЕ:Те вече са еквивалентни:

redis-py 3.0 премахва поддръжката за наследения клиентски клас "Redis".StrictRedis е преименуван на "Redis" и е предоставен псевдоним, наречен "StrictRedis", така че потребителите, използващи преди това "StrictRedis", могат да продължат да работят непроменени.

Оригинален отговор:Това изглежда доста ясно:

 redis-py exposes two client classes that implement these commands
 The StrictRedis class attempts to adhere to the official command syntax.

и

In addition to the changes above, the Redis class, a subclass of StrictRedis,
overrides several other commands to provide backwards compatibility with older
versions of redis-py

Имате ли нужда от обратна съвместимост? Използвайте Redis . Не ме интересува? Използвайте StrictRedis .

31.03.2017

Ето спецификата на обратната съвместимост от цитираната връзка github.com:

В допълнение към промените по-горе, класът Redis, подклас на StrictRedis, отменя няколко други команди, за да осигури обратна съвместимост с по-старите версии на redis-py:

LREM:Редът на аргументите „num“ и „value“ е обърнат, така че „num“ може да предостави стойност по подразбиране нула.

ZADD:Redis посочва аргумента 'score' преди 'value'. Те бяха разменени случайно, когато бяха внедрени и не бяха открити, докато хората вече не го използват. Класът Redis очаква *args под формата на:name1, score1, name2, score2, ...

SETEX:Редът на аргументите 'време' и 'стойност' е обърнат.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Четете данни от Redis към Flink

  2. Каква е разликата между StackExchange.Redis и StackExchange.Redis.StrongName?

  3. Memcache срещу Java памет

  4. Как да конфигурирам Spring сесиите да работят с Redis в xml?

  5. ImportError:Няма модул с име redis