sql >> Base de Datos >  >> NoSQL >> Redis

redis-py:¿Cuál es la diferencia entre StrictRedis() y Redis()?

EDITAR:Ahora son equivalentes:

redis-py 3.0 elimina la compatibilidad con la clase de cliente heredada "Redis". "StrictRedis" ha cambiado de nombre a "Redis" y se proporciona un alias llamado "StrictRedis" para que los usuarios que anteriormente usaban "StrictRedis" puedan continuar ejecutándose sin cambios.

Respuesta original:Esto parece bastante claro:

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

y

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

¿Necesita compatibilidad con versiones anteriores? Usa Redis . ¿No te importa? Usar StrictRedis .

2017-03-31

Estos son los detalles de la compatibilidad con versiones anteriores, del enlace github.com citado:

Además de los cambios anteriores, la clase Redis, una subclase de StrictRedis, anula varios otros comandos para proporcionar compatibilidad con versiones anteriores de redis-py:

LREM:Orden de los argumentos 'num' y 'value' invertidos de modo que 'num' puede proporcionar un valor predeterminado de cero.

ZADD:Redis especifica el argumento 'puntuación' antes de 'valor'. Estos se intercambiaron accidentalmente cuando se implementaron y no se descubrieron hasta que la gente ya los estaba usando. La clase Redis espera *argumentos en forma de:nombre1, puntaje1, nombre2, puntaje2, ...

SETEX:orden invertido de los argumentos 'tiempo' y 'valor'.