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)