Skip to content

Serialization & Compression

Serializers

Serializer Format Use Case
JsonSerializer JSON Default, human-readable, cross-language compatible
PickleSerializer Pickle Python objects, trusted environments only
MsgpackSerializer MessagePack Compact binary, fast (requires redis-py-kit[msgpack])
from redis_kit import Cache, JsonSerializer, PickleSerializer
from redis_kit.serializers import MsgpackSerializer

cache = Cache(conn.sync_client, serializer=MsgpackSerializer())

Compressors

Compressor Dependency Characteristics
ZlibCompressor None (stdlib) Good compression ratio, moderate speed
ZstdCompressor redis-py-kit[zstd] Best compression ratio + speed
Lz4Compressor redis-py-kit[lz4] Fastest speed, moderate compression ratio
from redis_kit import ZlibCompressor
from redis_kit.compressors import ZstdCompressor

cache = Cache(conn.sync_client, compressor=ZstdCompressor())

Combined Usage

cache = Cache(
    conn.sync_client,
    prefix="myapp",
    serializer=MsgpackSerializer(),
    compressor=ZstdCompressor(),
)

Data pipeline: value -> serializer.dumps() -> compressor.compress() -> Redis

Error Handling

All serializers raise SerializationError on serialization/deserialization failures, with the original exception chained via from. No need to catch library-specific exception types.