b’Hello Python’
Esse tipo de retorno indica que o valor é um byte de string – o redis irá codificar automaticamente a string unicode para você na gravação, mas é seu trabalho decodificá-lo ao pega-lo.
>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379)
>>> redisClient.set(‘test_redis’, ‘Hello Python’)
>>> redisClient.get(‘test_redis’)
b’Hello Python’
Podemos decodificar seu valor de duas maneiras:
A primeira seria logo ao abrir a conexão definir a propriedade decode_responses
>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379, decode_responses=True)
>>> redisClient.get(‘test_redis’)
‘Hello Python’
A outra maneira é chamar o método .decode no retorno do .get()
>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379)
>>> redisClient.get(‘test_redis’).decode()
‘Hello Python’
Uma observação importante:
Podemos configurar o charset na conexão, no decode ou até mesmo no encode:
>>> redisClient = redis.Redis(host=’0.0.0.0′,port=6379, charset=’utf-8′, decode_responses=True)
>>> redisClient.set(‘test_redis’, ‘Hello Python’.encode(‘utf-8’))
>>> redisClient.get(‘test_redis’).decode(‘utf-8)