pubsub lpush hkeys exist commands python redis

lpush - Acerca del prefijo char b en el cliente Python3.4.1 conéctese a redis



redis hkeys (2)

Me encuentro con problemas. Mi código a continuación. Pero no sé por qué hay una char ''b'' antes de la cadena de salida "Hola Python".

>>> import redis >>> redisClient = redis.StrictRedis(host=''192.168.3.88'',port=6379) >>> redisClient.set(''test_redis'', ''Hello Python'') True >>> value = redisClient.get(''test_redis'') >>> print(value) b''Hello Python'' //why char ''b'' output?


Significa que es una cadena de bytes.

Puedes usar:

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

utilizando decode_responses=True para hacer una cadena Unicode.


b''Hello Python'' es una cadena de bytes: redis codificará automáticamente una cadena Unicode para ti en el camino de entrada, pero es tu trabajo decodificarla al salir.

Mejor codificar y decodificar explícitamente:

>>> redisClient.set(''test_redis'', ''Hello Python''.encode(''utf-8'')) >>> redisClient.get(''test_redis'').decode(''utf-8'') ''Hello Python''