redis-py: Яка різниця між StrictRedis () та Redis ()?


103

Я хочу використовувати Redis-py для кешування деяких даних, але я не можу знайти відповідне пояснення різниці між redis.StrictRedis()і redis.Redis(). Вони еквівалентні?

Крім того, я не можу знайти жодної чіткої документації щодо redis.StrictRedis()аргументів аргументів у Redis Python Docs . Будь-яка ідея?

Відповіді:


142

Це здається досить зрозумілим :

 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.


2017-03-31

Ось специфіка зворотної сумісності, посилаючись на посилання github.com:

На додаток до вищезазначених змін, клас Redis, підклас StrictRedis, переосмислює декілька інших команд, щоб забезпечити зворотну сумісність зі старими версіями redis-py:

LREM: Порядок аргументів 'num' та 'value' перетворений таким чином, що 'num' може забезпечити значення за замовчуванням нуля.

ZADD: Redis вказує аргумент 'score' перед значенням. Вони були обмінені випадково під час впровадження та не виявлені до тих пір, поки люди вже не використали його. Клас Redis очікує * аргументи у вигляді: name1, score1, name2, score2, ...

SETEX: Порядок аргументів "час" та "значення" перетворений.



39

Це старе питання, але для тих, хто звернеться до цього питання після пошуку в Google:

із redme-py readme ( посилання ):

redis-py 3.0 падає підтримка старого клієнтського класу "Redis". "StrictRedis" було перейменовано на "Redis", а псевдонім з назвою "StrictRedis" надається, щоб користувачі, які раніше використовували "StrictRedis", могли продовжувати працювати без змін.

Ось рядок із коду redis-py, який визначає StrictRedis( посилання ):

StrictRedis = Redis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.