sql >> Database >  >> NoSQL >> Redis

redis-py :Wat is het verschil tussen StrictRedis() en Redis()?

EDIT:Ze zijn nu equivalent:

redis-py 3.0 stopt ondersteuning voor de legacy "Redis" client class. "StrictRedis" is hernoemd naar "Redis" en er is een alias met de naam "StrictRedis" voorzien zodat gebruikers die voorheen "StrictRedis" gebruikten, ongewijzigd kunnen blijven draaien.

Oorspronkelijk antwoord:Dit lijkt vrij duidelijk:

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

en

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

Heb je achterwaartse compatibiliteit nodig? Gebruik Redis . Maakt het je niet uit? Gebruik StrictRedis .

2017-03-31

Hier zijn de details van de achterwaartse compatibiliteit, van de geciteerde github.com-link:

Naast de bovenstaande wijzigingen overschrijft de klasse Redis, een subklasse van StrictRedis, verschillende andere opdrachten om achterwaartse compatibiliteit met oudere versies van redis-py te bieden:

LREM:volgorde van 'num'- en 'value'-argumenten omgekeerd, zodat 'num' een standaardwaarde van nul kan bieden.

ZADD:Redis specificeert het 'score'-argument vóór 'waarde'. Deze werden per ongeluk verwisseld toen ze werden geïmplementeerd en pas ontdekt nadat mensen het al gebruikten. De klasse Redis verwacht *args in de vorm van:name1, score1, name2, score2, ...

SETEX:volgorde van 'tijd' en 'waarde' argumenten omgekeerd.



  1. Kan mongo-opdracht niet gebruiken, toont opdracht niet gevonden op mac

  2. Hoe de uitvoer van een redis-abonnement om te leiden?

  3. Werken met speciale tekens in een Mongo-verzameling

  4. Moet u MongoDB-journaling inschakelen?