Redis 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 生命周期结束公告。
组件版本
Redis 7.2 版本包含以下组件