Redis 7.2

官方文档:https://redis.io/docs/latest/develop/whats-new/7-2/

Redis 7.2 的新功能

Redis 版本 7.2 引入了新功能,包括改进的地理空间查询和简化的 JSON 数据操作。性能优化、客户端增强和行为改进进一步提高了 Redis 的效率、安全性和可用性。以下是这些更新的详细分析。

新功能

使用多边形搜索的地理空间查询

Redis 查询引擎现在支持使用多边形搜索查询地理空间数据,使开发人员能够在复杂的地理边界内高效地过滤和检索数据。

JSON 中的简化数据操作

JSON 现在包含两个新命令,用于改进数据处理:

  • JSON.MERGE: 将给定的 JSON 值合并到匹配的路径中,从而实现更灵活的更新。
  • JSON.MSET: 基于指定的键 - 路径 - 值三元组同时设置或更新多个 JSON 值,提高处理结构化数据的效率。

改进

现有数据结构

Redis 数据类型的性能已经得到了显著提升。通常用于游戏排行榜的分类集,现在性能提升范围从 30% 到 100% 不等。

此外,Redis 流消费者跟踪功能得到了增强,以提供更好的消费者活动可见性。当目标密钥不再存在时,阻塞的流命令现在会返回一个明显的错误。

Redis 查询引擎的改进

Redis 查询引擎已经收到了多个更新,包括优化的 SORT BY 操作,以及在 RESP3 中添加了新的 FORMAT 响应,从而提高了效率和可读性。

脚本执行增强

客户端跟踪现在监控脚本执行过程中实际读取的密钥,提高了密钥使用跟踪的准确性。此外,被阻塞的命令将在执行前重新评估安全检查,确保符合更新后的权限。标准化的 ACL 故障消息和错误代码现在提供了更清晰的错误处理。

客户端和复制增强

基于 TLS 的复制现在支持服务器名称指示 (SNI), 以提高与安全部署的兼容性。HELLO 命令行为也得到了改进,仅在成功执行后才修改客户端状态,从而确保更可预测的客户端行为。

变更

突破性变更

Redis 7.2 引入了几个向后不兼容的变化。Lua 脚本不再支持 print () 函数,在只读脚本中阻塞 PFCOUNT 和 PUBLISH, 以及在命令执行过程中冻结时间采样。错误处理更新包括错误响应中的大小写变化,ZPOPMIN/ZPOPMAX 的新行为 (count 0), 以及对 XCLAIM/XAUTOCLAIM 的调整。ACL 变化影响命令分类和密钥访问权限,而命令内省现在包括每个子命令的统计信息。Redis 现在允许在加载过程中执行某些 CONFIG 命令,并且只在命令执行时跟踪统计信息。

有关更多详细信息,请参阅 Redis 7.2 的突破性变更。

过期密钥现在从副本索引中删除

过期的键现在会从 Redis 查询引擎副本索引中删除,以确保当数据不再存在时,查询会返回一个空数组而不是 nil。

其他变更

Redis Stack 7.2 不再包含 Graph 功能。欲了解更多详情,请参阅 RedisGraph 生命周期终止公告。

作者:Jeebiz  创建时间:2025-11-18 09:49
最后编辑:Jeebiz  更新时间:2025-11-18 10:09