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

Python-redis keys() retorna uma lista de objetos bytes em vez de strings


Você pode configurar o cliente Redis para converter automaticamente as respostas de bytes em strings usando o decode_responses argumento para o StrictRedis construtor:
r = redis.StrictRedis('localhost', 6379, charset="utf-8", decode_responses=True)

Certifique-se de ser consistente com o charset opção entre clientes.

Observação

Você seria melhor usar o comando EXISTS e reestruturar seu código como:
string = 'abcde'
if redis.exists(string):
    do something..

A operação KEYS retorna todas as chaves em seu banco de dados Redis e causará séria degradação de desempenho na produção. Como efeito colateral, você evita ter que lidar com a conversão de binário para string.