Redis
 sql >> Database >  >> NoSQL >> Redis

Memorizzazione di un hash MessagePacked in Redis

MessagePack tratta in byte grezzi, contrassegnati come codifica 'ASCII-8BIT'. Tuttavia, i tuoi dati compressi stanno tornando da Redis contrassegnati come nella codifica UTF-8. Affinché MessagePack possa decomprimere correttamente, è necessario forzarne l'interpretazione come byte grezzi.

Pertanto, cambia questa riga...

result = MessagePack.unpack(redis.get('my_key'))

a qualcosa del genere...

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