sql >> Database teknologi >  >> NoSQL >> Redis

redis-py :Hvad er forskellen mellem StrictRedis() og Redis()?

EDIT:De er nu tilsvarende:

redis-py 3.0 dropper understøttelse af den ældre "Redis"-klientklasse."StrictRedis" er blevet omdøbt til "Redis" og et alias med navnet "StrictRedis" er tilvejebragt, så brugere, der tidligere har brugt "StrictRedis", kan fortsætte med at køre uændret.

Originalt svar:Dette virker ret klart:

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

og

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

Har du brug for bagudkompatibilitet? Brug Redis . Er du ligeglad? Brug StrictRedis .

31-03-2017

Her er detaljerne for bagudkompatibiliteten fra det citerede github.com-link:

Ud over ændringerne ovenfor tilsidesætter Redis-klassen, en underklasse af StrictRedis, adskillige andre kommandoer for at give bagudkompatibilitet med ældre versioner af redis-py:

LREM:Rækkefølgen af ​​'num' og 'value' argumenter omvendt, således at 'num' kan give en standardværdi på nul.

ZADD:Redis specificerer 'score'-argumentet før 'værdi'. Disse blev udskiftet ved et uheld, da de blev implementeret, og blev først opdaget, efter at folk allerede brugte dem. Redis-klassen forventer *args i form af:navn1, score1, navn2, score2, ...

SETEX:Rækkefølgen af ​​'tid' og 'værdi' argumenter omvendt.



  1. Mongodb - Forskellen mellem at køre mongo- og mongod-databaser

  2. Opret et tekstindeks med forskellige feltvægte i MongoDB

  3. Forespørgsel med strengdatoformat i mongodb

  4. MassTransit saga med Redis persistens giver Metode Accpet har ikke en implementering undtagelse