Redis
 sql >> Base de données >  >> NoSQL >> Redis

Python-redis keys() renvoie une liste d'objets d'octets au lieu de chaînes

Vous pouvez configurer le client Redis pour convertir automatiquement les réponses d'octets en chaînes à l'aide de decode_responses argument du StrictRedis constructeur :

r = redis.StrictRedis('localhost', 6379, charset="utf-8", decode_responses=True)

Assurez-vous que vous êtes cohérent avec le charset option entre les clients.

Remarque

Vous feriez mieux d'utiliser la commande EXISTS et de restructurer votre code comme :

string = 'abcde'
if redis.exists(string):
    do something..

L'opération KEYS renvoie chaque clé de votre base de données Redis et entraînera une grave dégradation des performances en production. Comme effet secondaire, vous évitez d'avoir à gérer la conversion binaire en chaîne.