Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

redis-py:Qual é a diferença entre StrictRedis() e Redis()?


EDIT:Eles agora são equivalentes:

O redis-py 3.0 descarta o suporte para a classe de cliente "Redis" herdada."StrictRedis" foi renomeado para "Redis" e um alias chamado "StrictRedis" é fornecido para que os usuários que usavam "StrictRedis" possam continuar executando inalterados.

Resposta original:Isso parece bastante claro:
 redis-py exposes two client classes that implement these commands
 The StrictRedis class attempts to adhere to the official command syntax.

e
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

Você precisa de compatibilidade com versões anteriores? Use o Redis . Não se importa? Use StrictRedis .

31-03-2017

Aqui estão os detalhes da compatibilidade com versões anteriores, do link github.com citado:

Além das alterações acima, a classe Redis, uma subclasse de StrictRedis, substitui vários outros comandos para fornecer compatibilidade com versões anteriores do redis-py:

LREM:Ordem dos argumentos 'num' e 'value' invertidos de forma que 'num' possa fornecer um valor padrão de zero.

ZADD:Redis especifica o argumento 'score' antes de 'value'. Estes foram trocados acidentalmente ao serem implementados e não descobertos até que as pessoas já estivessem usando. A classe Redis espera *args na forma de:name1, score1, name2, score2, ...

SETEX:Ordem dos argumentos 'tempo' e 'valor' invertida.