Redis 8.12 RC2 的 SEXPIRE:集合成员校验从两次往返变成一次
来源:dev.to — 2026-11-02
📋 概述
Redis 的集合过去只有整键一个过期时间,想让某个成员自己消失,只能自己维护排序集合索引、读时校验、定时清扫。8.12 RC2 把成员级 TTL 做进了集合类型:SEXPIRE、SPEXPIRE、SEXPIREAT、SPEXPIREAT 设置,STTL、SPTTL 等读回。作者从源码编译并实测,发现收益不在设置过期,而在成员校验终于只剩一次 SISMEMBER。
🔑 核心要点
- 2000 次成员校验从约 990 毫秒降到约 450 毫秒,三次运行提升 50% 至 57%。
- 设置 TTL 本身没有更快,价值全在读取路径少一次往返。
- 把小整数集合转成支持成员 TTL 的编码,内存开销放大 15 倍。
- 该版本还没有官方命令文档,语法是从 COMMAND DOCS 和发布说明里拼出来的。
💡 金句
“The actual value of this feature isn't in setting the expiry. It's in checking membership afterwards.”
译:这个特性的价值其实不在设置过期,而在之后检查成员。
👍 0
👎 0
← 返回 dev.to 首页