redis-py: В чем разница между StrictRedis () и Redis ()?


105

Я хочу использовать 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: порядок аргументов «число» и «значение» изменен на противоположный, так что «число» может предоставить нулевое значение по умолчанию.

ZADD: Redis указывает аргумент «оценка» перед «значением». Они были случайно заменены местами при внедрении и не были обнаружены до тех пор, пока люди уже не использовали его. Класс Redis ожидает * аргументы в виде: name1, score1, name2, score2, ...

SETEX: Обратный порядок аргументов «время» и «значение».



40

Это старый вопрос, но для тех, кто задает этот вопрос после поиска в Google:

из redis-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.