Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Python-redis keys() gibt eine Liste von Byte-Objekten anstelle von Strings zurück

Sie können den Redis-Client so konfigurieren, dass Antworten mithilfe von decode_responses automatisch von Bytes in Zeichenfolgen konvertiert werden -Argument für StrictRedis Konstruktor:

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

Stellen Sie sicher, dass Sie mit dem charset konsistent sind Option zwischen Clients.

Hinweis

Sie wären besser dran, den EXISTS-Befehl zu verwenden und Ihren Code wie folgt umzustrukturieren:

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

Die KEYS-Operation gibt jeden Schlüssel in Ihrer Redis-Datenbank zurück und führt zu ernsthaften Leistungseinbußen in der Produktion. Als Nebeneffekt vermeiden Sie die Konvertierung von binär nach string.