Redis 8.2 GA 实用变化:Streams 原子删除、BITOP 新运算符与 kvobj 存储
Redis 8.2 基于 8.0,GA 版本 8.2.0 于 2025-08 发布。相比 8.0,这版包含 14+ 项性能与效率改进,命令最快提升 35%,吞吐最高提升 49%;新的内部 kvobj 存储把内存占用最高压低 67%。
Streams:XACKDEL、XDELEX 与消费组引用选项
新增两个命令:
XDELEX:从流中删除条目,并决定删除时如何处理消费组引用。XACKDEL:在同一个原子操作里确认并删除条目。
两者都带 KEEPREF、DELREF、ACKED 选项,用于控制删除时其他消费组对条目的引用如何处理。以前「清理已确认条目,同时对接多个消费组」需要多条命令拼接,现在可以一次完成。XADD 与 XTRIM 也扩展了同样的引用选项。
# 确认并删除:保留其他消费组对该条目的引用
XACKDEL mystream group1 KEEPREF 1690000000000-0
# 直接删除,并把所有已确认该条目的消费组引用一并处理
XDELEX mystream ACKED 1690000000000-0
# 修剪时指定引用语义
XTRIM mystream MAXLEN 10000 DELREF
取舍上,KEEPREF 适合多消费组仍需读取同一批条目的场景;DELREF 适合确认没有其他消费者还需要该条目;ACKED 则面向「所有相关消费组都已确认」后的批量清理。
Cluster 监控:CLUSTER SLOT-STATS
新命令 CLUSTER SLOT-STATS 给出每个 slot 的用量指标:
- key 数
- CPU 时间
- 网络进、出流量
CLUSTER SLOT-STATS ORDERBY key-count DESC LIMIT 10
排查分片倾斜时,先按 key 数定位热点 slot;判断是否值得迁移,则看 CPU 时间和网络进出,避免只看 key 数做决策。
向量检索:VSIM 的 IN 过滤与 SVS-VAMANA
VSIM 支持在过滤表达式中使用 IN 操作符:
VSIM idx:items FILTER '.genre IN ("scifi", "fantasy")' VALUES 2 0.12 0.34
新增 SVS-VAMANA 向量索引类型,支持向量压缩,并针对 Intel 做了优化。索引定义中可直接指定该算法:
VECTOR SVS-VAMANA 6 DIM 768 DISTANCE_METRIC COSINE TYPE FLOAT32
压缩换内存,代价是精度与查询行为需要实测。集群 KNN 查询另有一个 SHARD_K_RATIO 参数(不稳定特性),允许用延迟换精度。
Bitmap:BITOP 新增运算符
BITOP 新增 DIFF、DIFF1、ANDOR、ONE 四个运算符:
BITOP DIFF destkey key1 key2
BITOP DIFF1 destkey key1 key2
BITOP ANDOR destkey key1 key2
BITOP ONE destkey key1 key2
原来需要用 Lua 脚本或客户端拼装的多位图逻辑,现在可以下推到单条命令。DIFF 与 DIFF1 区分差集方向,ANDOR 覆盖「要么 A 要么 B」的组合,ONE 则用于恰好一个源 key 置位的场景。
Keyspace 通知:OVERWRITTEN 与 TYPE_CHANGED
新增两种通知事件:
OVERWRITTEN:key 的值被完全覆盖。TYPE_CHANGED:key 的类型发生变化。
两者比默认的 SET 类通知更具体。开启前注意通知量,只有在确实要区分「覆盖」和「类型切换」时才订阅。
内存与性能:kvobj、过期与 I/O 线程
新数据结构 key-value object(kvobj)把 key 名、短值和可选 TTL 紧密打包进单次内存分配:
- 短字符串省 25–37% 内存
- JSON 数值省 25–67%
过期处理、scan 中的过期检查也做了优化。超过 70 条命令得到改进,其中 BITCOUNT 快 35%,LINSERT、LREM、LPOS 延迟降低 25% 以上。
在 8 个 I/O 线程、典型缓存负载(20% 写、80% 读)下,吞吐最高提升 49%。
新指标
副本相关指标新增 master_link_up_since_seconds、total_disconnect_time_sec 等,用于判断复制链路断开时长与恢复时间。
破坏性变更
Redis Software / Cloud 场景下,Terraform provider 2.1.2–2.4.5 搭配 Redis 8.2 会创建数据库失败,需要执行:
terraform init -upgrade
安全更新
8.2.10(2026-09-17)涉及 cluster bus:bus 本身没有认证,除非开启 tls-cluster,任何能访问 bus 端口的主机都可以加入集群。新增 cluster-bus-port-protected-mode(默认 no),设为 yes 后仅在 tls-cluster 认证 bus 时才启动。