Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Armazenando um hash MessagePacked no Redis


MessagePack lida com bytes brutos, que são marcados como codificação 'ASCII-8BIT'. No entanto, seus dados compactados estão voltando do Redis marcados como em codificação UTF-8. Para que o MessagePack seja descompactado com sucesso, você precisa forçá-lo a ser interpretado como bytes brutos.

Portanto, altere esta linha ...
result = MessagePack.unpack(redis.get('my_key'))

para algo assim...
redis_val = redis.get('my_key').force_encoding('ASCII-8BIT')
result = MessagePack.unpack(redis_val)