MessagePack obsługuje nieprzetworzone bajty, które są oznaczone jako kodowanie „ASCII-8BIT”. Jednak twoje spakowane dane wracają z Redis oznaczone jako kodowane w UTF-8. Aby MessagePack mógł się pomyślnie rozpakować, musisz zmusić go z powrotem do interpretacji jako surowe bajty.
Dlatego zmień tę linię...
result = MessagePack.unpack(redis.get('my_key'))
do czegoś takiego...
redis_val = redis.get('my_key').force_encoding('ASCII-8BIT')
result = MessagePack.unpack(redis_val)