Redis Stack 7.2 发行说明
Redis Stack 7.2 发行说明。
Redis 堆栈 |
---|
Redis 堆栈 7.2.0-v13(2024 年 10 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包括 Redis 服务器的安全修复程序,解决了潜在漏洞,例如使用 Lua 库组件时的 RCE,以及由于格式错误的 ACL 选择器或无界模式匹配而导致的拒绝服务 (DoS) 风险。 此外,此维护版本还包含用于防止集群模式下崩溃的错误修复,并包含最新版本的 Redis Insight。
详:
安全和隐私
- 雷迪斯:
- (CVE-2024-31449 漏洞)Lua 库命令可能会导致堆栈溢出和潜在的 RCE。
- (CVE-2024-31227 漏洞)由于 ACL 选择器格式错误而可能导致拒绝服务。
- (CVE-2024-31228 漏洞)由于无界模式匹配而可能导致拒绝服务。
Bug 修复
-
雷迪斯:
- [#13315](https://github.com/redis/redis/pull/13315)修复了集群模式下的崩溃问题
-
Redis 版本:
模块版本
- RediSearch 2.8.15 版
- RedisJSON 版本 2.6.11
- RedisTimeSeries 1.10.13 版本
- RedisBloom 版本 2.6.12
- RedisGears 版本 2.0.23
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 Redis Insight 兼容。此版本的 docker 镜像 redis/redis-stack 与 Redis Insight 2.58 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v12(2024 年 8 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
标题:
更新的搜索和查询版本引入了几项新功能和重要的 bug 修复,包括一个关键 bug。Redis Stack 7.2.0 的新版本还包括 JSON 和时间序列数据结构的更新版本,每个版本都包含多个错误修复。
此维护版本还包含最新版本的 RedisInsight。
详:
改进
- 搜索和查询:
- [#4792](https://github.com/RediSearch/RediSearch/pull/4792) - 为简单字符串回复添加字符验证,并在需要时对其进行转义 (MOD-7258)
- [#4768](https://github.com/RediSearch/RediSearch/pull/4768) - 指示聚合管道的错误消息中缺少哪个值 (MOD-7201)
- [#4745](https://github.com/RediSearch/RediSearch/pull/4745) -
GROUPBY
递归清理 (MOD-7245) - [#4823](https://github.com/RediSearch/RediSearch/pull/4823) - 查询执行期间密钥过期的机制,清除中间结果
Bug 修复
-
搜索和查询:
- [#4754](https://github.com/RediSearch/RediSearch/pull/4754) - 使用
MAX
减速机 (MOD-7252) - [#4737](https://github.com/RediSearch/RediSearch/pull/4737) - 在转义字符后转义反斜杠时忽略分隔符,例如
\
hello\\,world
忽略,
(型号-7240) - [#4717](https://github.com/RediSearch/RediSearch/pull/4717) - 按多个字段排序
SORTBY 2 @field1 @field2
忽略了后面的字段 (MOD-7206) - [#4803](https://github.com/RediSearch/RediSearch/pull/4803) - 查询返回空数组期间键过期 (MOD-7010)
- [#4794](https://github.com/RediSearch/RediSearch/pull/4794) - 索引排错程序 (GC) 尝试清理已删除的数字索引可能会导致崩溃 (MOD-7303)
- [#4754](https://github.com/RediSearch/RediSearch/pull/4754) - 使用
-
JSON格式:
- [#1212](https://github.com/RedisJSON/RedisJSON/pull/1212)
JSON.MSET
- AOF 命令多次复制 (MOD-7293)
- [#1212](https://github.com/RedisJSON/RedisJSON/pull/1212)
-
时间序列:
- [#1607](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1607)删除并重新创建压缩规则的源密钥后可能发生崩溃 (MOD-7338)
- [#1610](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1610)
COUNT
参数接受非正值 (MOD-5413)
-
Redis 版本:
模块版本
- RediSearch 2.8.15 版
- RedisJSON 版本 2.6.11
- RedisTimeSeries 1.10.13 版本
- RedisBloom 版本 2.6.12
- RedisGears 版本 2.0.23
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 Redis Insight 兼容。此版本的 docker 镜像 redis/redis-stack 与 Redis Insight 2.54 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v11(2024 年 6 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:MODERATE
:对服务器进行升级编程,但这不是紧急的。
标题:
Redis Stack 7.2.0-v11 引入了新版本的 Redis 服务器,修复了多个错误,并更新了搜索和查询功能,其中包含许多增强功能和错误修复。
更新的搜索和查询版本具有改进的内存报告功能,用于计算TAG
和TEXT
trys,以及增强的倒排索引的内存计数。此外,它还在FT.INFO
命令。
此维护版本还包含最新版本的 RedisInsight。
详:
改进
- 搜索和查询:
- [#4595](https://github.com/RediSearch/RediSearch/pull/4595) - 报告
TAG
和TEXT
尝试 (MOD-5902) - [#4669](https://github.com/RediSearch/RediSearch/pull/4669) - 倒排索引内存计数 (MOD-5977、MOD-5866)
- [#4687](https://github.com/RediSearch/RediSearch/pull/4687) - 添加缺失
FT.INFO
字段 (MOD-6920)
- [#4595](https://github.com/RediSearch/RediSearch/pull/4595) - 报告
Bug 修复
-
雷迪斯:
- [#12824](https://github.com/redis/redis/pull/12824)单个分片集群将失败的副本留在 CLUSTER SLOTS 中,而不是将其删除
- [#12955](https://github.com/redis/redis/pull/12955)替换小项目且超过 4GB 时 LSET 命令崩溃
- [#13004](https://github.com/redis/redis/pull/13004)由于重新处理命令,阻止命令超时被重置
- [#13115](https://github.com/redis/redis/pull/13115)将 Lua args 中的数字转换为 redis args 可能会失败。7.2.0 中引入的 Bug
-
CLI 工具:
- [#13092](https://github.com/redis/redis/pull/13092) redis-cli:--count(用于 --scan、--bigkeys 等)被忽略,除非还使用了 --pattern
- [#12958](https://github.com/redis/redis/pull/12958) redis-check-aof:错误地将 manifest 格式的数据视为 MP-AOF
-
搜索和查询:
- [#4614](https://github.com/RediSearch/RediSearch/pull/4614) - 使用
FT.AGGREGATE
跟APPLY 'split(...)'
(型号-6759) - [#4556](https://github.com/RediSearch/RediSearch/pull/4556) -
FT.EXPLAIN
使用通配符进行查询时返回额外的 } (MOD-6768) - [#4646](https://github.com/RediSearch/RediSearch/pull/4646) -
FT.DROPINDEX
跟DD
标记一个 AA 群集中已删除的键,但不标记其他 AA 群集中已删除的键 (MOD-1855)
- [#4614](https://github.com/RediSearch/RediSearch/pull/4614) - 使用
-
Redis 版本:
模块版本
- RediSearch 2.8.14 版
- RedisJSON 版本 2.6.10
- RedisTimeSeries 1.10.12 版本
- RedisBloom 版本 2.6.12
- RedisGears 版本 2.0.23
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 Redis Insight 兼容。此版本的 docker 镜像 redis/redis-stack 与 Redis Insight 2.50 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v10(2024 年 4 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
标题:
此版本包含最新的搜索和查询功能,其中包含多项改进和错误修复,包括关键错误修复。此版本还包括最新的 JSON 数据结构(修复了潜在的崩溃)、时间序列数据结构(包含更详细的 LibMR 错误消息)以及最新版本的触发器和函数(更新了 v8 版本并修复了错误)。它还包含最新版本的 RedisInsight。
详:
改进
-
搜索和查询:
- [#4502](https://github.com/RediSearch/RediSearch/pull/4502)尝试在集群设置上执行 Search 命令时正确处理错误,作为
MULTI
/EXEC
或 LUA 脚本 (MOD-6541) - [#4526](https://github.com/RediSearch/RediSearch/pull/4526)在错误消息中添加详细的几何信息 (MOD-6701)
- [#4502](https://github.com/RediSearch/RediSearch/pull/4502)尝试在集群设置上执行 Search 命令时正确处理错误,作为
-
时间序列:
- [#1593](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1593)更详细的 LibMR 错误消息
-
触发器和功能:
- [#1100](https://github.com/RedisGears/RedisGears/pull/1100)将 v8 版本更新到 12.3.219.15
Bug 修复
-
搜索和查询:
- [#4481](https://github.com/RediSearch/RediSearch/pull/4481)查询语法
GEOSHAPE
只接受 prefix 而不是 complete 谓词 (MOD-6663) - [#4513](https://github.com/RediSearch/RediSearch/pull/4513)
FT.CURSOR READ
在导致崩溃的数字查询中 (MOD-6597) [严重错误] - [#4534](https://github.com/RediSearch/RediSearch/pull/4534)
FT.PROFILE
参数不正确可能会导致群集设置崩溃 (MOD-6791) [严重错误] - [#4530](https://github.com/RediSearch/RediSearch/pull/4530)某些仅使用前缀而不是完整值的参数设置有效 (MOD-6709)
- [#4539](https://github.com/RediSearch/RediSearch/pull/4539)在重新加载新 RDB 时重新索引时内存不足可能会导致崩溃(MOD-6831、6810)[严重错误]
- [#4498](https://github.com/RediSearch/RediSearch/pull/4498)在尝试编写新文档时,由于死锁而超时导致崩溃的矢量预过滤查询(混合查询)(MOD-6510、MOD-6244)[严重错误]
- [#4495](https://github.com/RediSearch/RediSearch/pull/4495)
FT.SEARCH
如果使用已弃用的FT.ADD
命令 (MOD-6599) [严重错误]
- [#4481](https://github.com/RediSearch/RediSearch/pull/4481)查询语法
-
JSON格式:
- [#1192](https://github.com/RedisJSON/RedisJSON/pull/1192)数值大于 i64::MAX 时崩溃(MOD-6501、MOD-4551、MOD-4856、MOD-5714)
-
触发器和功能:
- [#1093](https://github.com/RedisGears/RedisGears/pull/1093)记录 NULL 字符时崩溃
Redis 版本:
模块版本
- RediSearch 2.8.13 版
- RedisJSON 版本 2.6.10
- RedisTimeSeries 1.10.12 版本
- RedisBloom 版本 2.6.12
- RedisGears 版本 2.0.20
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.46 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
下载
- macOS:x86_64、arm64
- AppImage:x86_64
- Ubuntu:仿生x86_64、仿生 arm64、Focal x86_64、Focal arm64、Snap x86_64、Snap arm64、Jammy x86_64、Jammy arm64
- Debian:Bullseye x86_64
- RHEL 7/CentOS Linux 7:x86_64
- RHEL 8/CentOS Linux 8:x86_64
- RHEL 9/Rocky Linux 9/CentOS Linux 9:x86_64
- Dockerhub 上的 Redis 堆栈:x86_64 和 arm64
- Dockerhub 上的 Redis Stack 服务器:x86_64 和 arm64
Redis 堆栈 7.2.0-v9(2024 年 3 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:MODERATE
:对服务器进行升级编程,但这不是紧急的。
标题:
此版本包含最新的搜索和查询功能,并改进了用于查询的内存的内存分配模式GEOSHAPE
类型,并修复了几个 bug。此版本还包括最新的概率数据结构,修复了潜在的崩溃,以及具有更新的 v8 版本的触发器和函数功能。它还包含最新版本的 RedisInsight。
详:
改进
- 搜索和查询:
- [#4313](https://github.com/RediSearch/RediSearch/pull/4313)用于查询的内存的内存分配模式
GEOSHAPE
类型 (MOD 6431)
- [#4313](https://github.com/RediSearch/RediSearch/pull/4313)用于查询的内存的内存分配模式
Bug 修复
-
搜索和查询:
- [#4476](https://github.com/RediSearch/RediSearch/pull/4476)分裂
INFIX
和SUFFIX
报告FT.EXPLAIN
和FT.EXPLAINCLI
(型号-6186) - [#4467](https://github.com/RediSearch/RediSearch/pull/4467)后缀查询时出现内存泄漏
TAG
indexed withWITHSUFFIXTRIE
(型号-6644) - [#4403](https://github.com/RediSearch/RediSearch/pull/4403)聚集
FT.SEARCH
找到无效拓扑时,永远挂起而不回复 (MOD-6557) - [#4355](https://github.com/RediSearch/RediSearch/pull/4355)搜索同义词将在同一组中多次迭代,从而导致性能下降 (MOD-6490)
- [#4476](https://github.com/RediSearch/RediSearch/pull/4476)分裂
-
概率数据结构:
- [#753](https://github.com/RedisBloom/RedisBloom/issues/753)可能崩溃
CMS.MERGE
使用无效参数时
- [#753](https://github.com/RedisBloom/RedisBloom/issues/753)可能崩溃
-
触发器和功能:
- [#1089](https://github.com/RedisGears/RedisGears/pull/1089)将 v8 版本更新到 12.2.281.21
-
Redis 版本:
模块版本
- RediSearch 2.8.12 版
- RedisJSON 版本 2.6.9
- RedisTimeSeries 1.10.11 版本
- RedisBloom 版本 2.6.12
- RedisGears 版本 2.0.19
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.44 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v8(2024 年 1 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:HIGH
:在概率数据结构中修复了一个可能影响用户子集的关键错误。升级!
标题:
此版本包含最新的概率数据结构,其中包含一个关键的 bug 修复,以及最新的 JSON 数据结构,其中包含一个重大更改,将 JSONPath 默认路径值从$
.
,并修复了 RediSearch 死锁。此版本包含最新版本的 RedisInsight。
详:
改进
- JSON格式:
- [#1131](https://github.com/RedisJSON/RedisJSON/issues/1131), [#1143](https://github.com/RedisJSON/RedisJSON/pull/1143) BREAKING - 将 JSONPath 默认路径值从
$
.
根据 RESP3 (MOD-6156)
- [#1131](https://github.com/RedisJSON/RedisJSON/issues/1131), [#1143](https://github.com/RedisJSON/RedisJSON/pull/1143) BREAKING - 将 JSONPath 默认路径值从
Bug 修复
-
JSON格式:
- [#1095](https://github.com/RedisJSON/RedisJSON/pull/1095)修复了 RediSearch 死锁。请参阅 RediSearch 2.8.10 发行说明 (MOD-5895)
-
概率数据结构:
- [#727](https://github.com/RedisBloom/RedisBloom/pull/727)CF 上的潜在崩溃。LOADCHUNK (MOD-6344) - 其他修复
-
Redis 版本:
模块版本
- RediSearch 2.8.11 版本
- RedisJSON 版本 2.6.9
- RedisTimeSeries 1.10.11 版本
- RedisBloom 版本 2.6.11
- RedisGears 版本 2.0.16
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.40 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v7(2024 年 1 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含 Redis 服务器的安全修复程序,用于正确处理内存缓冲区的大小调整,以及概率数据结构的安全修复程序,以避免潜在的崩溃。新的 Redis Stack 版本还包含针对搜索和查询功能的多项改进和错误修复,包括对关键错误的修复。它还提供最新的时间序列数据结构、最新的触发器和函数功能以及各种改进和错误修复,并且包含最新版本的 RedisInsight。
详:
安全和隐私
-
雷迪斯:
- (CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行
-
概率数据结构:
- [#721](https://github.com/RedisBloom/RedisBloom/issues/721)可能崩溃
CF.RESERVE
(模型-6343) - [#722](https://github.com/RedisBloom/RedisBloom/issues/722)可能崩溃
CF.LOADCHUNK
(型号-6344)
- [#721](https://github.com/RedisBloom/RedisBloom/issues/721)可能崩溃
改进
-
搜索和查询:
- [#3682](https://github.com/RediSearch/RediSearch/pull/3682)报告最后一个键错误和字段类型索引失败
FT.INFO
(MOD-5364) - [#4236](https://github.com/RediSearch/RediSearch/pull/4236)在
FT.INFO
报告 (MOD-6198) - [#4196](https://github.com/RediSearch/RediSearch/pull/4196)检查结果处理后是否超时
FT.SEARCH
在集群设置中 (MOD-6278) - [#4164](https://github.com/RediSearch/RediSearch/pull/4164)报告
TIMEOUT
,MAXPREFIXEXPANSION
RESP3 回复中的警告 (MOD-6234) - [#4165](https://github.com/RediSearch/RediSearch/pull/4165)指示超时
FT.PROFILE
报告 (MOD-6184) - [#4149](https://github.com/RediSearch/RediSearch/pull/4149)指示从 Cursor on 开始超时
FAIL
超时策略 (MOD-5990) - [#4147](https://github.com/RediSearch/RediSearch/pull/4147)初始化最大数值范围,从而更好地平衡索引叶子拆分 (MOD-6232)
- [#3940](https://github.com/RediSearch/RediSearch/pull/3940)谓词包含多个时的查询优化
INTERSECTION
(和) 的UNION
(或)(MOD-5910) - [#4059](https://github.com/RediSearch/RediSearch/pull/4059)在遇到超时时返回游标 ID,当策略为
ON_TIMEOUT RETURN
(型号-5966) - [#4006](https://github.com/RediSearch/RediSearch/pull/4006)索引名称别名验证可能存在问题 (MOD-5945)
- [#4264](https://github.com/RediSearch/RediSearch/pull/4264)上报告计数器的时间粒度
FT.PROFILE
(型号-6002)
- [#3682](https://github.com/RediSearch/RediSearch/pull/3682)报告最后一个键错误和字段类型索引失败
-
触发器和功能:
- 将 v8 版本更新到 12.0/267.13
Bug 修复
-
雷迪斯:
- [#12805](https://github.com/redis/redis/pull/12805)、[#12832](https://github.com/redis/redis/pull/12832) 修复混合版本 7.0 和 7.2 的集群命令集群崩溃的问题
- [#12564](https://github.com/redis/redis/pull/12564)修复了从节点中删除槽时未正确处理槽所有权的问题
- [#12733](https://github.com/redis/redis/pull/12733)修复 RedisModuleEvent_Key 模块 API 事件的原子性问题
- [#4324](https://github.com/RediSearch/RediSearch/pull/4324)内部集群机制不等到分片的所有回复,导致崩溃 (MOD-6287)
- [#4297](https://github.com/RediSearch/RediSearch/pull/4297)使用
FT.AGGREGATE
跟LOAD
阶段无法缓冲正确的结果,这可能会导致崩溃 (MOD-6385)
-
搜索和查询:
- [#4287](https://github.com/RediSearch/RediSearch/pull/4287)从副本同步时,重新索引过程会因内部索引变量初始化而导致崩溃 (MOD-6337、MOD-6336)
- [#4249](https://github.com/RediSearch/RediSearch/pull/4249)集群设置上的内存跟踪导致高内存使用率和潜在的内存不足(MOD-6123、MOD-5639)
- [#4244](https://github.com/RediSearch/RediSearch/pull/4244)分析
FT.AGGREGATE
使用WITHCURSOR
带有 - 子句的标志会导致超时而崩溃 (MOD-5512) - [#3916](https://github.com/RediSearch/RediSearch/pull/3916)到期
JSON
文档,导致因死锁而崩溃(MOD-5769、MOD-5895、MOD-6189、MOD-5895) - [#4235](https://github.com/RediSearch/RediSearch/pull/4235)由倒排索引树上的不平衡节点导致数据库内存过度增长(MOD-5880、MOD-5952、MOD-6003)
- [#4190](https://github.com/RediSearch/RediSearch/pull/4190)分析
FT.AGGREGATE
导致 RESP3 回复崩溃(MOD-6250、MOD-6295) - [#4148](https://github.com/RediSearch/RediSearch/pull/4148)、[#4038](https://github.com/RediSearch/RediSearch/pull/4038)
ON_TIMEOUT FAIL\RETURN
未遵循群集设置中的策略(MOD-6035、MOD-5948、MOD-6090) - [#4110](https://github.com/RediSearch/RediSearch/pull/4110)超时时错误响应格式包含不一致(MOD-6011、MOD-5965)
- [#4104](https://github.com/RediSearch/RediSearch/pull/4104)
FT.SEARCH
在 Amazon Linux 2 上使用 TLS 加密时没有响应 (MOD-6012) - [#4009](https://github.com/RediSearch/RediSearch/pull/4009)在群集设置中不会返回 的超时错误
FT.SEARCH
(模组-5911) - [#3920](https://github.com/RediSearch/RediSearch/pull/3920)在群集设置中不会返回 的超时错误
FT.AGGREGATE
(MOD-5209) - [#3914](https://github.com/RediSearch/RediSearch/pull/3914)
FT.CURSOR READ
在游标读取之间更新数据时,地理查询会导致崩溃 (MOD-5646) - [#4220](https://github.com/RediSearch/RediSearch/pull/4220)删除索引后尝试运行 ForkGC(垃圾回收例程)时,服务器崩溃 (MOD-6276)
-
时间序列:
- [libMR #51](https://github.com/RedisGears/LibMR/pull/51)SSL 初始化失败时崩溃 (MOD-5647)
- [#1538](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1538)Amazon Linux 2:SSL 初始化时崩溃。我们现在使用 openssl11-devel 而不是 openssl-devel (MOD-6015)
-
概率数据结构:
- [#707](https://github.com/RedisBloom/RedisBloom/pull/707)Top-K:
TOPK.ADD
和TOPK.QUERY
当项目名称为空字符串时崩溃 (RED-114676)
- [#707](https://github.com/RedisBloom/RedisBloom/pull/707)Top-K:
-
触发器和功能:
- [#1069](https://github.com/RedisGears/RedisGears/pull/1069)修复了密钥空间通知可能丢失的问题
-
Redis 版本:
模块版本
- RediSearch 2.8.11 版本
- RedisJSON 版本 2.6.7
- RedisTimeSeries 1.10.11 版本
- RedisBloom 版本 2.6.10
- RedisGears 版本 2.0.16
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.40 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v5(2023 年 10 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:HIGH
:存在可能影响用户子集的严重错误。升级!
标题:
此版本包含最新的搜索和查询,其中包含对关键错误、触发器和函数的各种改进和修复,以及更新的 v8 版本,以及新的 JSON、时间序列和概率数据结构,并进行了多项改进。新版本引入了对 RHEL 9 和 Rocky Linux 9 的支持。它还包括最新版本的 RedisInsight。
详:
改进
-
搜索和查询:
- [#3938](https://github.com/RediSearch/RediSearch/pull/3938)在多分片数据库中传播错误消息,而不是静默失败 (MOD-5211)
-
JSON格式:
- [#1102](https://github.com/RedisJSON/RedisJSON/pull/1102)添加了对 CBL-Mariner 2 的支持
-
时间序列:
- [#1516](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1516)添加了对 CBL-Mariner 2 的支持
-
概率数据结构:
- [#684](https://github.com/RedisBloom/RedisBloom/pull/684)、[#685](https://github.com/RedisBloom/RedisBloom/pull/685) 添加了对 CBL-Mariner 2 的支持
Bug 修复
-
雷迪斯:
- 修复了升级 Redis 堆栈时出现“The RDB file contains AUX module data I can''': no matching module 'graphdata'”错误消息
-
搜索和查询:
- [#3874](https://github.com/RediSearch/RediSearch/pull/3874)一旦内存块未正确释放,繁重的文档更新会导致内存增长 (MOD-5181)
- [#3967](https://github.com/RediSearch/RediSearch/pull/3967)重新分片优化会导致进程卡住(MOD-5874、MOD-5864)
- [#3892](https://github.com/RediSearch/RediSearch/pull/3892)清理索引后,GC 可能会导致唯一值损坏 (MOD-5815)
- [#3853](https://github.com/RediSearch/RediSearch/pull/3853)查询
WITHCURSOR
使内存增长CURSOR
未在分片中失效 (MOD-5580)
-
触发器和功能:
- 将 v8 版本更新到 11.8.172.15
Redis 版本
模块版本
- RediSearch 2.8.9 版
- RedisJSON 版本 2.6.7
- RedisTimeSeries 1.10.9 版本
- RedisBloom 版本 2.6.8
- RedisGears 版本 2.0.14
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.36 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v4(2023 年 10 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含 Redis 服务器的安全修复,以避免在启动时绕过所需的 Unix 套接字权限,以及一些改进和错误修复。
详:
安全和隐私
- 雷迪斯:
- (CVE-2023-45145 漏洞)错误的顺序
listen(2)
和chmod(2)
calls 会创建一个 另一个进程可以使用它来绕过所需的 Unix 的 race 条件 socket 权限。
- (CVE-2023-45145 漏洞)错误的顺序
改进
- 雷迪斯:
- [#12611](https://github.com/redis/redis/pull/12611)修复 MacOS 13 上的编译错误
- [#12604](https://github.com/redis/redis/pull/12604)修复在 7.0 和 7.2 的混合集群中运行 rebalance 命令时崩溃的问题 节点
- [#12561](https://github.com/redis/redis/pull/12561)将集群分片中 slot number 的返回类型修复为 integer,即 使其与过去的行为保持一致
- [#12569](https://github.com/redis/redis/pull/12569)修复从模块或脚本调用 CLUSTER 命令以返回 TLS 信息的问题 适当地
- [#12571](https://github.com/redis/redis/pull/12571) redis-cli,修复在 SUBSCRIBE 模式下重新连接时崩溃的问题
- [#12474](https://github.com/redis/redis/pull/12474)修复下一个计时器事件的溢出计算
Bug 修复
- 雷迪斯:
- [#12620](https://github.com/redis/redis/pull/12620)如果新的 AOF 为 created 和 AOF 重写无法立即开始
Redis 版本
模块版本
- RediSearch 2.8.8
- RedisJSON 版本 2.6.6
- RedisTimeSeries 1.10.6 版本
- RedisBloom 版本 2.6.3
- RedisGears 版本 2.0.13
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.34 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v3(2023 年 10 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含最新的搜索和查询功能 v. 2.8.8 以及触发器和函数 v. 2.0.13,其中包含各种改进、搜索和查询的安全修复以及多个错误修复。它还包括最新版本的 RedisInsight。
详:
安全和隐私
- 搜索和查询:
- [#3788](https://github.com/RediSearch/RediSearch/pull/3788)不要公开内部集群命令
- [#3844](https://github.com/RediSearch/RediSearch/pull/3844)限制最大语音长度,避免被利用
改进
- 搜索和查询:
Bug 修复
-
搜索和查询:
- [#3771](https://github.com/RediSearch/RediSearch/pull/3771)破碎
lower()
和upper()
函数APPLY
stage inFT.AGGREGATE
在DIALECT 3
- [#3752](https://github.com/RediSearch/RediSearch/pull/3752)设置低
MAXIDLE
parameter 值FT.AGGREGATE
导致崩溃 - [#3780](https://github.com/RediSearch/RediSearch/pull/3780)文档长度计算错误导致分数值不正确
- [#3808](https://github.com/RediSearch/RediSearch/pull/3808)
LOAD
step 之后的FILTER
Step 可能会导致FT.AGGREGATE
- [#3823](https://github.com/RediSearch/RediSearch/pull/3823)
APPLY
或FILTER
解析器泄漏 - [#3837](https://github.com/RediSearch/RediSearch/pull/3837)在 Redis 7.2 上使用 TLS 的连接失败
- [#3856](https://github.com/RediSearch/RediSearch/pull/3856)向 OSS 集群添加新节点导致崩溃
- [#3854](https://github.com/RediSearch/RediSearch/pull/3854)矢量范围查询可能会因内存损坏而导致内存不足
- [#3771](https://github.com/RediSearch/RediSearch/pull/3771)破碎
-
触发器和功能:
- 将 v8 版本更新到 11.7.439.17。
Redis 版本
模块版本
- RediSearch 2.8.8
- RedisJSON 版本 2.6.6
- RedisTimeSeries 1.10.6 版本
- RedisBloom 版本 2.6.3
- RedisGears 版本 2.0.13
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.34 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v2(2023 年 9 月)
这是 Redis Stack Server 7.2.0 的维护版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含时间序列的安全改进,以不暴露内部命令,并修复了触发器和函数的多个错误。
详:
安全和隐私
- 时间序列:
Bug 修复
- 触发器和功能:
- [#1023](https://github.com/RedisGears/RedisGears/pull/1023)添加了 TCONFIG_GET 和 redisgears_2.FORCESHARDSCONNECTION 以排除命令。
- [#1008](https://github.com/RedisGears/RedisGears/pull/1008) 和 [#1020](https://github.com/RedisGears/RedisGears/pull/1020) 修复了在触发 StreamTrigger 时读取数据的问题。
- [#1010](https://github.com/RedisGears/RedisGears/pull/1010)对 AOF 和复制流应用加载超时。
- V8 JavaScript 引擎的次要补丁更新。
Redis 版本
模块版本
- RediSearch 2.8.4
- RedisJSON 版本 2.6.6
- RedisTimeSeries 1.10.6 版本
- RedisBloom 版本 2.6.3
- RedisGears 版本 2.0.12
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.32 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v1(2023 年 9 月)
这是 Redis Stack Server 7.2.0 的维护版本
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含 Redis 服务器的安全修复程序,适用于用户可以使用 SORT_RO 命令访问未由 ACL 配置明确授权的密钥的情况。
详:
安全修复
- 雷迪斯:
- (CVE-2023-41053 漏洞)Redis 无法正确识别 SORT_RO 访问的键,并且 因此,可能会授予执行此命令的用户访问不是 由 ACL 配置显式授权。
Bug 修复
- 雷迪斯:
- [#12538](https://github.com/redis/redis/pull/12538)修复在将节点加入现有 7.0 Redis 集群时崩溃的问题
- [#12545](https://github.com/redis/redis/pull/12545), [#12530](https://github.com/redis/redis/pull/12530) 为某些管理员更正request_policy并打开response_policy命令提示 / 配置命令
Redis 版本
模块版本
- RediSearch 2.8.4
- RedisJSON 版本 2.6.6
- RedisTimeSeries 1.10.4 版本
- RedisBloom 版本 2.6.3
- RedisGears 版本 2.0.11
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.32 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-v0(2023 年 8 月)
这是 Redis Stack 版本 7.2 的正式发布版本。
标题:
Redis 服务器 7.2 为列表、集和排序集引入了重要的内存和速度优化,并引入了多项改进,包括集和列表的编码改进、流使用者组改进和提高的持久性。 Search and Query 带来了针对基本形状的常见问题 Geo 多边形查询,并改进了不同场景下排序的查询性能。 JSON 引入了两个新命令:JSON。MERGE 和 JSON 的 JSON 请求。MSET 实现更高效的数据作。 允许开发人员在 Redis 进程中运行 JavaScript 函数的触发器和函数预览。 最后,7.2 添加了使用新协议 RESP3 的选项,从而改进了所有命令的响应格式。
Redis 服务器:
Redis 服务器 7.2 带来了性能和资源利用率方面的改进,包括对列表、集和排序集的内存和速度进行了显著优化。这个新版本增加了一个新的WITHSCORE
command 参数,新命令(例如 CLIENT NO-TOUCH),用于客户端在不影响按键 LRU/LFU 的情况下运行命令,等等。Redis 7.2 通过为 RDB 文件引入新格式(版本 11)来引入与旧版本不兼容的新格式(版本 11)、更改模块 API 和其他更改,从而带来了行为更改。
搜索和查询:
这个新的主要版本引入了经常询问的 Geo Polygon Search。添加支持使用 WKT 表示法的多边形形状的 GEOSHAPE 字段类型。除了现有的GEO
对于 Geo Range 查询,现在是GEOPOINT
,我们添加GEOSHAPE
支持POLYGON
和POINT
作为新形状格式和多边形作。
此外,7.2 还带来了SORT BY
作FT.SEARCH
和FT.AGGREGATE
和新的FORMAT
为了更好的可读性和将来对更好的错误处理响应的支持FT.SEARCH
和FT.AGGREGATE
仅在 RESP3 中。
JSON格式: JSON 引入了两个新命令:
- JSON 的 JSON 格式。MERGE 将给定的 JSON 值合并到匹配路径中,以便更新、删除或扩展匹配路径中的 JSON 值。
- JSON 的 JSON 格式。MSET 根据指定的键-路径-值三元组设置或更新一个或多个 JSON 值。
图表:
Redis Stack 中不再包含图形功能。请参阅 RedisGraph 生命周期终止公告。
[!警告]
如果您在旧版本的 Redis Stack 中使用图形功能 - 请不要升级。
触发器和函数预览: 触发器和函数是 Redis Stack 7.2 公共预览版的一部分,非常感谢任何反馈。
Triggers and functions 支持在 Redis 进程中运行 JavaScript 函数。这些函数可以按需执行,也可以通过事件驱动的触发器或流处理触发器执行。Triggers and Functions 使开发人员能够通过将逻辑移近数据来构建和维护实时应用程序,从而确保更低的延迟,同时提供最佳的开发人员体验。
使用触发器和函数快速入门进行试用。
详:
在此处查找有关 Redis Stack 7.2 引入的功能和优化的更多详细信息:
Redis 版本
模块版本
- RediSearch 2.8.4
- RedisJSON 版本 2.6.6
- RedisTimeSeries 1.10.4 版本
- RedisBloom 版本 2.6.3
- RedisGears 版本 2.0.11
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与最新的 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.30 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-rc2(2023 年 7 月)
这是 Redis Stack 版本 7.2.0 的第三个版本。
更新紧急度:SECURITY
:此版本中有安全修复程序。
标题:
此版本包含 Redis 服务器的安全改进。
详:
特征
- 雷迪斯:
- [#10362](https://github.com/redis/redis/pull/10362)进行 SENTINEL 配置 [SET|GET] 可变参数
- [#12133](https://github.com/redis/redis/pull/12133)添加新的日志级别 “nothing” 以禁用日志记录
- [#9564](https://github.com/redis/redis/pull/9564)添加 cluster-announce-human-nodename - 节点的唯一标识符,该 在日志中用于调试
改进
- 雷迪斯:
- (CVE-2022-24834)在 Redis 中执行的特制 Lua 脚本可以触发 cjson 和 cmsgpack 库中的堆溢出,并导致堆 损坏和可能的远程代码执行。问题存在于所有 具有 Lua 脚本支持的 Redis 版本(从 2.6 开始),并影响 仅限经过身份验证和授权的用户。
- (CVE-2023-36824 漏洞)从命令和参数列表中提取键名称 在某些情况下,可能会触发堆溢出并导致读取随机堆 内存、堆损坏和可能的远程代码执行。具体说来: 在 ACL 规则中使用 COMMAND GETKEYS* 并验证密钥名称。
- [#12269](https://github.com/redis/redis/pull/12269)加载期间允许 CLUSTER SLOTS / SHARDS 命令
- [#12233](https://github.com/redis/redis/pull/12233)在 “tls-cluster” 未启用时支持 TLS 服务,并保留 plain 和 nodes.conf 中的 TLS 端口
- [#12320](https://github.com/redis/redis/pull/12320)更新 SPOP 和 RESTORE 命令以将取消链接命令复制到复制副本 当服务器配置为使用异步服务器删除时
- [#12229](https://github.com/redis/redis/pull/12229)尝试 lazyfree ZUNION / ZINTER / ZDIFF 中的临时 zset
- [#12298](https://github.com/redis/redis/pull/12298)优化 PSUBSCRIBE 和 PUNSUBSCRIBE 从 O(N*M) 到 O(N)
- [#12209](https://github.com/redis/redis/pull/12209)优化 SCAN、SSCAN、HSCAN、ZSCAN 命令
- [#12315](https://github.com/redis/redis/pull/12315)设置 Jemalloc --disable-cache-oblivious 以减少内存开销
- [#12229](https://github.com/redis/redis/pull/12229)优化 ZINTERCARD 以避免创建临时 zset
- [#12205](https://github.com/redis/redis/pull/12205)优化 HRANDFIELD 和 ZRANDMEMBER 列表包编码 ()
- [#12155](https://github.com/redis/redis/pull/12155)、[#12082](https://github.com/redis/redis/pull/12082)、[#11626](https://github.com/redis/redis/pull/11626)、[#11944](https://github.com/redis/redis/pull/11944)、[#12316](https://github.com/redis/redis/pull/12316)、[#12250](https://github.com/redis/redis/pull/12250)、 [#12177](https://github.com/redis/redis/pull/12177)、[#12185](https://github.com/redis/redis/pull/12185) 许多其他优化
- [#12254](https://github.com/redis/redis/pull/12254) redis-cli:处理包含 NaN 的 RESP3 双重响应
- [#11834](https://github.com/redis/redis/pull/11834) redis-cli:支持使用 IPv6 的 URI
更改的行为
- 雷迪斯:
- [#10536](https://github.com/redis/redis/pull/10536)、[#12166](https://github.com/redis/redis/pull/12166) 集群分片 ID 在集群节点输出中不再可见
- [#12326](https://github.com/redis/redis/pull/12326)当使用同样订阅了同一通道的 RESP3 客户端调用 PUBLISH 时,顺序会发生变化,回复会在发布的消息之前发送
- [#12321](https://github.com/redis/redis/pull/12321)将新 (v7.2 RC2) RM_ReplyWithErrorFormat的语义与 RM_ReplyWithError 保持一致。 这是一项重大更改,会影响生成的错误代码
- [#12304](https://github.com/redis/redis/pull/12304)禁止在加载和只读副本上RM_AddPostNotificationJob
- [#12219](https://github.com/redis/redis/pull/12219)添加了模块命令过滤器的功能,以了解正在处理哪个客户端
Bug 修复
- 雷迪斯:
- [#12326](https://github.com/redis/redis/pull/12326)修复在 MULTI 中使用 PUBLISH 时损坏的协议,当 RESP3 发布客户端也订阅了频道
- [#12220](https://github.com/redis/redis/pull/12220)修复 WAIT 在被阻止的 module 命令被解封后生效的问题
- [#12276](https://github.com/redis/redis/pull/12276)在存在 fork 子项时重新启用 downscale rehashing
- [#12276](https://github.com/redis/redis/pull/12276)修复 HRANDFIELD、SRANDMEMBER、ZRANDMEMBER 与 一起使用时可能出现的挂起问题
<count>
- [#12276](https://github.com/redis/redis/pull/12276)改进了 RANDOMKEY、HRANDFIELD、SRANDMEMBER、ZRANDMEMBER、SPOP 和驱逐中的公平性问题
- [#12344](https://github.com/redis/redis/pull/12344)集群:修复了一个争用情况,即槽迁移可能会在后续故障转移或节点加入时恢复
- [#12301](https://github.com/redis/redis/pull/12301)修复XREADGROUP BLOCK 与 “>” from hanging
- [#12247](https://github.com/redis/redis/pull/12247)修复被阻塞的命令在重新处理时被拒绝时的断言
- [#12342](https://github.com/redis/redis/pull/12342)修复在阻塞RM_Call上释放后使用
Redis 版本
模块版本
- RediSearch 2.8.3 版
- RedisJSON 2.6.2 版本
- RedisTimeSeries 1.10.1 版本
- RedisBloom 版本 2.6.1
- RedisGears 版本 2.0.6
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.26 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-rc2(2023 年 6 月)
这是 Redis Stack 版本 7.2.0 的第二个版本。
标题:
此版本包含一项新功能 - 触发器和函数、对搜索和查询功能的改进,以及对 JSON、时间序列和概率数据结构的改进。它还包括最新版本的 RedisInsight。
新的搜索和查询版本引入了新的和经常询问的 Geo Polygon Search。添加GEOSHAPE
字段类型,该类型支持使用 WKT 表示法的多边形形状。除了当前的GEO
(别名GEOPOINT
) 使用已经 geo range 查询,我们添加了对POLYGON
作为新形状。此外,它还为SORT BY
作FT.SEARCH
和FT.AGGREGATE
.
此版本包括一项新功能 - 触发器和函数,它带来了使用 JavaScript (JS) 在 Redis 中执行和触发业务逻辑的能力。详细的文档和示例可以在此 GitHub 存储库中找到。Triggers 和 Functions 命令与 Redis Functions 命令保持一致。API 尚未最终确定,可能会根据反馈进行更改。非常感谢任何反馈。
详:
特征
-
搜索和查询:
- [#3553](https://github.com/RediSearch/RediSearch/pull/3553)引入对 Geo-polygon 形状和查询的支持
- [#3476](https://github.com/RediSearch/RediSearch/pull/3476), [#3660](https://github.com/RediSearch/RediSearch/pull/3660) 添加
GEOSHAPE
field 类型来映射SCHEMA
上FT.CREATE
. - 支持多边形
POLYGON
使用 WKT 表示法,例如POLYGON((x1 y1, x2 y2, ...))
. - [#3556](https://github.com/RediSearch/RediSearch/pull/3556)调整查询语法
FT.SEARCH
对于使用谓词的多边形@geom:[OPERATOR $poly]
并将 WKT 格式的多边形定义为PARAMS 2 poly "POLYGON((10 20, ...))"
用DIALECT 3
. - 最初
WITHIN
和CONTAINS
运算符替换为GEOSHAPES
就目前而言。 - [#3645](https://github.com/RediSearch/RediSearch/pull/3645)支持多个坐标系:笛卡尔 (X,Y) 和地理坐标系 (lon, lat)。使用球面索引作为默认 (
SPHERICAL
).
- [#3476](https://github.com/RediSearch/RediSearch/pull/3476), [#3660](https://github.com/RediSearch/RediSearch/pull/3660) 添加
- [#3046](https://github.com/RediSearch/RediSearch/pull/3046)为 上的排序作引入性能优化
FT.SEARCH
和FT.AGGREGATE
作为默认值DIALECT 4
.它将在 4 种不同的场景中提高性能,如下所示:- Skip Sorter - 在没有任何类型的情况下应用。查询到达
LIMIT
请求的结果。 - 部分范围 - 当存在
SORTBY
一个数值字段,没有筛选条件或按同一数值字段进行筛选,则查询将迭代足够大的范围以满足LIMIT
请求的结果。 - Hybrid - 在存在
SORTBY
一个数字字段以及另一个非数字过滤器。某些结果将被筛选,并且初始范围可能不够大。然后,迭代器使用以下范围倒带,并进行额外的迭代以收集LIMIT
请求的结果。 - 无优化 - 如果存在按分数或按非数字字段排序,则除了检索所有结果并比较其值外,别无选择。
- [#3651](https://github.com/RediSearch/RediSearch/pull/3651)加
WITHCOUNT
参数,该参数允许通过排序返回查询结果的准确计数。此作处理所有结果以获得准确的计数,性能低于优化选项(默认行为为DIALECT 4
).
- Skip Sorter - 在没有任何类型的情况下应用。查询到达
- [#3553](https://github.com/RediSearch/RediSearch/pull/3553)引入对 Geo-polygon 形状和查询的支持
-
JSON格式:
- [#916](https://github.com/RedisJSON/RedisJSON/pull/916)介绍新的
JSON.MERGE
符合 RFC 7396,支持:- 在现有 JSON 文档上创建新属性
- 更新和替换父属性和子属性中的值
- 删除现有属性(给出
null
作为值) - 数组更新 - 用新值替换整个数组。
- [#944](https://github.com/RedisJSON/RedisJSON/pull/944)介绍
JSON.MSET
,支持对同一哈希槽中的 key 进行原子多集。
- [#916](https://github.com/RedisJSON/RedisJSON/pull/916)介绍新的
-
触发器和功能:
- [#875](https://github.com/RedisGears/RedisGears/pull/875)该api_version已添加到库序言中,指示所需的最低 API 版本。表示该库支持指定的 API 版本及以上的 minor 版本。 [#896](https://github.com/RedisGears/RedisGears/pull/896)KeySpace 触发器上的其他可选回调,可以在通知发生时准确执行读取作。
- [#910](https://github.com/RedisGears/RedisGears/pull/910)JavaScript API 已更新,以符合 JavaScript 最佳实践。函数和触发器的注册是通过强制参数和单个可选对象完成的。
- [#935](https://github.com/RedisGears/RedisGears/pull/935)能够从已加载 RedisGears 模块但未使用的 Redis 服务器加载 RDB,并将其加载到没有 RedisGears 模块的 Redis 服务器中。
- 更新的命令:
- [#910](https://github.com/RedisGears/RedisGears/pull/910)
TFUNCTION
和TFCALL
替换为RG.FUNCTION
和RG.FCALL
. - [#939](https://github.com/RedisGears/RedisGears/pull/939)这些命令将更新以匹配 Redis Functions 命令。
TFCALL
将库和函数合并到一个参数中,并分隔 '.' 。例:TFCALL <library_name>.<function_name>
. - [#900](https://github.com/RedisGears/RedisGears/pull/900) 对将函数作为协程运行的能力进行评分
TFCALLASYNC
.客户依赖TFCALL
从不阻止共享连接,以便其他命令不会在此类连接上延迟。
- [#910](https://github.com/RedisGears/RedisGears/pull/910)
改进
-
搜索和查询:
- [#3641](https://github.com/RediSearch/RediSearch/pull/3641)在大量数据更新方案中编制索引清理触发器。
- [#3614](https://github.com/RediSearch/RediSearch/pull/3614)聚合执行管道中的几项改进。
-
触发器和功能:
- [#906](https://github.com/RedisGears/RedisGears/pull/906)限制所有组合库的总内存使用量,这些值可以在模块加载期间进行配置。
- [#940](https://github.com/RedisGears/RedisGears/pull/940)在上传新库时验证当前内存使用情况,使其不超过最大内存限制。
更改的行为
- 搜索和查询:
- [#3355](https://github.com/RediSearch/RediSearch/pull/3355), [#3635](https://github.com/RediSearch/RediSearch/pull/3635) 从 slave 的索引中删除过期的键,返回一个空数组而不是
nil
.
- [#3355](https://github.com/RediSearch/RediSearch/pull/3355), [#3635](https://github.com/RediSearch/RediSearch/pull/3635) 从 slave 的索引中删除过期的键,返回一个空数组而不是
Bug 修复
-
搜索和查询:
- [#3597](https://github.com/RediSearch/RediSearch/pull/3597)将别名复制为输出名称
FT.AGGREGATE
减速器 (REDUCE
argument) 不会返回结果。 - [#3654](https://github.com/RediSearch/RediSearch/pull/3654)添加了对 prefix 的检查
@
GROUPBY
fields 返回错误而不是错误的结果。 - [#3501](https://github.com/RediSearch/RediSearch/pull/3501)按 2 个或更多字段排序,请遵循不忽略第二个参数的顺序。
- [#3582](https://github.com/RediSearch/RediSearch/pull/3582)Sorter 将在查询期间过期的文档中设置较低的排名,以防止客户端冻结。
- [#3597](https://github.com/RediSearch/RediSearch/pull/3597)将别名复制为输出名称
-
JSON格式:
- [#1025](https://github.com/RedisJSON/RedisJSON/pull/1025)
JSON.TOGGLE
密钥空间通知修复。
- [#1025](https://github.com/RedisJSON/RedisJSON/pull/1025)
-
时间序列:
- [#1471](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1471)可能崩溃
MRANGE
聚合数百万个时间序列时。 - [#1469](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1469)潜在的内存泄漏
MRANGE
驱逐后。
- [#1471](https://github.com/RedisTimeSeries/RedisTimeSeries/pull/1471)可能崩溃
-
触发器和功能:
- [#913](https://github.com/RedisGears/RedisGears/pull/913)当 Redis 从持久性文件加载时,不触发通知。
Redis 版本
模块版本
- RediSearch 2.8.3 版
- RedisJSON 2.6.2 版本
- RedisTimeSeries 1.10.1 版本
- RedisBloom 版本 2.6.1
- RedisGears 版本 2.0.6
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与最新的 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.26 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。
Redis 堆栈 7.2.0-rc1(2023 年 6 月)
这是 Redis Stack 版本 7.2.0 的第一个版本。
标题:
此版本包含最新的搜索和查询功能、JSON 功能以及新版本的 RedisInsight。
最新的搜索和查询功能引入了新的和经常询问的 Geo Polygon 搜索。添加GEOMETRY
字段类型,该类型支持使用 WKT 表示法的多边形形状。此外,它还为SORT BY
作FT.SEARCH
和FT.AGGREGATE
.
最新的 JSON 功能引入了新的JSON.MERGE
符合 RFC 7396,以及JSON.MSET
,它支持同一哈希槽中键的原子多集。
详:
特征
-
搜索和查询:
- [#3553](https://github.com/RediSearch/RediSearch/pull/3553)引入对 Geo-polygon 形状和查询的支持
- [#3476](https://github.com/RediSearch/RediSearch/pull/3476)添加
GEOMETRY
field 类型来映射SCHEMA
上FT.CREATE
- 例如,使用 WKT 表示法添加多边形
POLYGON((x1 y1, x2 y2, ...))
- [#3556](https://github.com/RediSearch/RediSearch/pull/3556)调整查询语法
FT.SEARCH
对于使用谓词的多边形@geom:[OPERATOR $poly]
并将 WKT 格式的多边形定义为PARAMS 2 poly "POLYGON((10 20, ...))"
用DIALECT 3
- 最初
WITHIN
和CONTAINS
仅具有 Geometries 的运算符
- [#3476](https://github.com/RediSearch/RediSearch/pull/3476)添加
- [#3046](https://github.com/RediSearch/RediSearch/pull/3046)介绍
OPTIMIZE
keyword 设置为SORTBY
查询FT.SEARCH
和FT.AGGREGATE
在 4 种不同的场景中提高性能:- Skip Sorter - 在没有任何类型的情况下应用。查询到达
LIMIT
请求的结果。 - 部分范围 - 当存在
SORTBY
numeric 字段,如果没有筛选条件或按同一 numeric 字段进行筛选,则查询会迭代足够大的范围以满足LIMIT
请求的结果。 - Hybrid - 在存在
SORTBY
numeric 字段。某些结果将被筛选,并且初始范围可能不够大。然后,迭代器将使用以下范围倒带,并进行额外的迭代以收集LIMIT
请求的结果。 - 无优化 - 如果存在按分数或非数字字段排序,则除了检索所有结果并比较其值外,别无选择。
- Skip Sorter - 在没有任何类型的情况下应用。查询到达
- [#3553](https://github.com/RediSearch/RediSearch/pull/3553)引入对 Geo-polygon 形状和查询的支持
-
JSON格式:
- [#916](https://github.com/RedisJSON/RedisJSON/pull/916)介绍新的
JSON.MERGE
符合 RFC 7396,支持:- 在现有 JSON 文档上创建新属性
- 更新和替换父属性和子属性中的值
- 删除现有属性(给出
null
作为值) - 数组更新 - 将整个数组替换为新值
- [#944](https://github.com/RedisJSON/RedisJSON/pull/944)介绍
JSON.MSET
,支持对同一哈希槽中的 key 进行原子多集
- [#916](https://github.com/RedisJSON/RedisJSON/pull/916)介绍新的
改进
- 搜索和查询:
更改的行为
- 搜索和查询:
- [#3355](https://github.com/RediSearch/RediSearch/pull/3355)从从奴隶的索引中删除过期的键,返回一个空数组而不是
nil
- [#3355](https://github.com/RediSearch/RediSearch/pull/3355)从从奴隶的索引中删除过期的键,返回一个空数组而不是
Bug 修复
- 搜索和查询:
- [#3562](https://github.com/RediSearch/RediSearch/pull/3562)索引定义在使用
REPLICAOF
导致故障 - [#3557](https://github.com/RediSearch/RediSearch/pull/3557)
TIMEOUT
配置FT.AGGREGATE
查询被忽略 - [#3606](https://github.com/RediSearch/RediSearch/pull/3606)更新数字倒排索引
numEntries
避免过度内存消耗 - [#3552](https://github.com/RediSearch/RediSearch/pull/3552)
FT.CURSOR READ
上JSON
数值查询不返回结果
- [#3562](https://github.com/RediSearch/RediSearch/pull/3562)索引定义在使用
Redis 版本
模块版本
推荐的客户端库
- 爪哇岛
- 蟒
- NodeJS 的
- 。网
- 去
与最新的 RedisInsight 兼容。此版本的 docker 镜像 redis/redis-stack 与 RedisInsight 2.26 捆绑在一起。
注意:版本号遵循以下模式:
x.y.z-b
x.y
Redis 主要版本z
随着模块 x.y 版本的增加,偶数增加。b
表示 Redis 的补丁或模块(任何z
的 Redis 或模块)。b
将包含一个v
+ 数值。