序列化与压缩¶
序列化器¶
| 序列化器 | 格式 | 适用场景 |
|---|---|---|
JsonSerializer |
JSON | 默认,可读性好,跨语言兼容 |
PickleSerializer |
Pickle | Python 对象,仅限可信环境 |
MsgpackSerializer |
MessagePack | 紧凑二进制,速度快(需要 redis-py-kit[msgpack]) |
from redis_kit import Cache, JsonSerializer, PickleSerializer
from redis_kit.serializers import MsgpackSerializer
cache = Cache(conn.sync_client, serializer=MsgpackSerializer())
压缩器¶
| 压缩器 | 依赖 | 特点 |
|---|---|---|
ZlibCompressor |
无(标准库) | 压缩率好,速度适中 |
ZstdCompressor |
redis-py-kit[zstd] |
最佳压缩率 + 速度 |
Lz4Compressor |
redis-py-kit[lz4] |
速度最快,压缩率适中 |
from redis_kit import ZlibCompressor
from redis_kit.compressors import ZstdCompressor
cache = Cache(conn.sync_client, compressor=ZstdCompressor())
组合使用¶
cache = Cache(
conn.sync_client,
prefix="myapp",
serializer=MsgpackSerializer(),
compressor=ZstdCompressor(),
)
数据流水线:value → serializer.dumps() → compressor.compress() → Redis
错误处理¶
所有序列化器在序列化/反序列化失败时统一抛出 SerializationError,并保留原始异常链(from)。无需捕获各底层库的特定异常类型。