Redis 8.2
Redis 8.2 的新功能
Redis 8.2 在 Redis 8.0 的基础上进行了显著的性能和内存优化,增强了流处理能力,并改进了集群管理工具。
本版本在多个领域提供了重大改进:
- 通过新命令增强 Redis Streams, 实现更好的消费者群组管理
- 用于高级位操作的新位图操作
- 使用每槽使用指标进行高级集群监控
- 使用新压缩算法优化向量搜索
- 使用新事件类型增强了密钥空间通知
- 超过 15 项性能和资源利用率改进
下面是这些更新的详细分析。
安全改进
Redis 8.2 包括重要的安全修复:
- CVE-2025-27151: 在 redis-check-aof 中修复了潜在的堆栈溢出和 RCE 漏洞。
- CVE-2025-32023: 修复了 HyperLogLog 命令中的越界写入漏洞。
- CVE-2025-48367: 改进了连接处理,即使发生错误,也能重新尝试接受连接。
新功能
增强的 Redis 流
Redis 8.2 引入了强大的新命令,简化了使用者组管理和流生命周期操作:
- XDELEX: 使用高级消费者组处理选项从流中删除条目。
- XACKDEL: 在单个原子操作中确认和删除流条目。
这些命令包括 KEEPEF、DERLEF 和 ACKED 选项,可以让您精确控制在条目删除过程中如何处理消费者组引用。这简化了需要在处理多个消费者组时清理已确认条目的常见模式。
XADD 和 XTRIM 命令也通过这些相同的选项进行了扩展,在所有删除流条目的命令中提供了一致的行为。
集群监控改进
新的 CLUSTER SLOT-STATS 命令提供了详细的每槽使用指标,包括:
- 每个槽的密钥计数
- CPU 时间消耗
- 网络输入和输出
这种增强的可见性有助于您优化集群性能并识别数据分布中的热点。
向量搜索增强
VSIM 命令现在支持 IN 运算符进行过滤表达式,这使得在执行具有复杂过滤标准的向量相似性搜索时更加灵活。
改进了位图操作
Redis 8.2 通过新的运算符扩展了 BITOP 命令,提供了更复杂的位操作功能:
- DIFF: 在位图之间执行按位差分操作。
- DIFF1: 使用优化的单比特操作计算差值。
- ANDOR: 在单个命令中结合 AND 和 OR 操作。
- ONE: 针对单位场景的专用操作。
这些新的运算符可以实现更复杂的位图工作流程,并可以简化以前需要多个命令的操作。
改进的键空间通知
Redis 8.2 引入了新的键空间通知事件类型,提供了对数据更改的更好可见性:
- OverwriteTEN: 当密钥的值完全覆盖时触发。
- TYPE_CHANGED: 当密钥的数据类型发生变化时触发。
这些事件通过提供关于特定类型数据修改的详细通知,帮助您构建更具响应能力的应用程序。
改进
Redis 8.2 在核心操作方面提供了显著的性能改进。
性能优化
- 比特计数:通过预取优化进行增强,以实现更快的比特计数操作。
- SCAN: 优化后仅对具有不稳定密钥的数据库执行过期检查,减少了不必要的开销。
- 列表操作:LREM、LPOS 和 LINSERT 从 quicklistCompare 中的缓存 string2ll 结果中受益。
- 有序集操作:ZRANK 和相关命令使用相同的缓存优化。
- 关键操作:使用 TTL 时优化了 COPY、RENAME 和 RESTORE。
- 客户端管理:减少客户端 cron 操作的开销,以避免阻塞主线程。
- 矢量操作:通过存储最差链接信息,提高了矢量集的 RDB 加载和 RESTORE 速度。
内存效率提高
- JSON 数据类型:通过数字内联改善内存占用。
- 内存跟踪:降低了与跟踪 malloc 可用内存相关的开销。
- 过期处理:扫描回调中的优化过期检查。
- 矢量压缩:SVS-VAMANA 矢量索引的额外压缩变体可减少内存使用。
向量搜索性能
Redis 8.2 引入了用于 Redis 集群中 KNN 向量查询的 SHARD_K_RATIO 参数。这个不稳定的特性允许您优先考虑网络延迟而非准确性,在准确性不是关键时提供更快的响应。
增强指标
Redis 8.2 提供了新的指标来帮助您监控和排除 Redis 实例故障。
内存指标
- Used_memory_peak_time: 达到 used_memory_peak 时的时间戳
复制指标
- Master_current_sync_attempts: 自上次断开连接以来的同步尝试次数
- Master_total_sync_attempts:master 的同步尝试总次数
- Master_link_up_Since_seconds: 自复制链路建立以来的持续时间
- Total_disconnect_time_sec: 副本断开连接的累计时间
这些指标可以更好地了解复制运行状况,并帮助您识别连接稳定性的模式。
组件版本
Redis 8.2 延续了 Redis 8.0 中引入的统一分发方法,在一个 Redis 开源包中提供所有功能,而无需单独的模块。
最后编辑:Jeebiz 更新时间:2025-11-18 10:09