渐进删除示例
渐进删除示例
# 分批删大 Hash:
for i in 1 2 3; do redis-cli HSCAN big:hash 0 COUNT 1000
# 客户端循环 HDEL 一批
done
# 大 List:
redis-cli LTRIM big:list 0 999 # 只保留前 1000 个元素,其余删除
# 最省事:
UNLINK big:hash| 拆分 | big:cart:u88 -> big:cart:u88:{0..9},按 hash tag 分片 |
|---|---|
| 删除 | UNLINK 异步释放;同步删除会阻塞 |
| 压缩 | value 压缩后存储,读时解压;或用 RedisJSON 特殊优化 |
大 key 的日常预防:写入路径限制单键大小(如 Hash 超过 1 万字段就拆分),把「限制」写进业务代码而不是靠事后巡检。