Redis 7.0.1 现已发布,包含了针对 7.0 版本中一些新功能的 behavior changes 以及重要的错误修复;升级紧迫性为中等。具体更新内容如下:
改进
- 为可疑的 slow system clocksource setting 添加警告
添加 --check-system 命令行选项。(#10636) - 在 CLIENT PAUSE WRITE 期间允许只读脚本(*_RO 命令和带有 no-writes flag 的) ( #10744)
- 在 COMMAND 命令中为 EVAL_RO、EVALSHA_RO 和 FCALL_RO 添加
readonly
flag ( #10728 ) - redis-server 命令行参数现在接受一个带有空格的字符串用于多参数配置(#10660)
潜在的 Breaking Changes
Redis 7.0 新功能的潜在 Breaking Changes
CLI 工具的变化
- redis-cli --bigkeys、--memkeys、--hotkeys、--scan。在 Ctrl+C 之后很好地完成( #10736 )
平台/工具链支持相关改进
INFO fields and introspection changes
Module API changes
- 向 RM_Call 脚本模式添加两个新检查 ( #10786 )
- 添加新的 RM_Call 标志让 Redis 自动拒绝
deny-oom
命令 ( #10786 ) - 添加模块 API RM_MallocUsableSize ( #10795 )
- 添加缺少的 REDISMODULE_NOTIFY_NEW ( #10688 )
- 修复 RedisModuleScanCursor 中的游标类型以处理超过 2^31 个元素 ( #10698 )
- 修复 RM_Yield 错误和 RM_Call("EVAL") OOM 检查错误 ( #10786 )
- 修复枚举配置中具有重叠位标志的错误 ( #10661 )
Bug 修复
- FLUSHALL 正确重置 rdb_changes_since_last_save INFO 字段 ( #10691 )
- FLUSHDB 现在传播到 replicas/AOF,即使数据库是空的 ( #10691 )
- 如果主服务器无响应,Replica 将失败并重试 PSYNC ( #10726 )
- 修复 zset_max_listpack_entries 为 0 时 ZRANGESTORE 崩溃(#10767)
修复了 Redis 7.0 之前候选版本中的问题
- CONFIG REWRITE 可能会导致 aliased configs 的 config change 被丢弃(#10811)
- CONFIG REWRITE 将省略 rename-command 并包含行 ( #10761 )
注意:使用 Redis 7.0.0 重写其配置文件的受影响用户应查看并修复该文件。 - 修复 MISCONF (persistence) 错误后损坏的协议 ( #10786 )
- 修复 --save 命令行回归 ( #10690 )
- 修复围绕 TLS 配置更改的可能回归。即使文件名没有改变,也要重新加载文件。(#10713)
- 重新添加 SENTINEL SLAVES 命令,在 redis 7.0 中缺失 ( #10723 )
- 修复 XADD 和 XTRIM 中可能存在的内存泄漏 ( #10753 )
暂无回复。