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''