快报!Redis 6.0.10 发布~
Java技术栈
www.javastack.cn
关注阅读更多优质文章
Redis 6.0.10 现已发布,这是一个维护版本,升级迫切性等级为中等:修复了一些具有中等影响的错误。具体更新内容如下:
Command behavior changes:
SWAPDB 使 WATCHED 键失效(#8239)
在可写副本上使用 SORT 命令时,其行为有所不同(#8283)
EXISTS 不应更改 LRU(#8016)
OBJECT 不应揭示逻辑上已过期的 keys(#8016)
现在将表现为相同的 TYPE 或任何其他 non-DEBUG 命令。如果 Redis 超出内存限制,则 GEORADIUS[BYMEMBER] 可能因 -OOM 而失败(#8107)
Other behavior changes:
Sentinel:修复 SENTINEL SET 命令后配置文件缺失的更新(#8229)
CONFIG REWRITE 是 atomic 和 safer 的,但是需要对配置文件的文件夹具有 write access(#7824,#8051)
6.0.9 中已经存在此更改,但发行说明中未包含此更改。
涉及兼容性的错误修复(Redis 6.0 中引入的错误):
修复 big-endian 系统上的 RDB CRC64 checksum(#8270)
如果使用 big-endian,请考虑与 RESTORE、复制和持久性的兼容性影响。修正 Lua 的地图响应中的键/值顺序错误(#8266)
如果你的脚本使用 redis.setresp() 或 return a map(Redis 6.0 中的新功能),则需要考虑其影响。
Bug 修复:
修复了 forked 进程删除父级的 pidfile 的问题(#8231)
修复启用 io-threads-do-reads 时崩溃的问题(#8230)
修复执行集群备份后在 redis-cli 中崩溃的问题(#8267)
修复与 setproctitle 相关的崩溃。(#8150,#8088)
在启动时导致各种崩溃,主要是在 Apple M1 芯片上或在仪器下。修复 oom-score-adj-values 范围,以及在配置文件中使用时的 bug (#8046)
在数据库为空时重置平均 ttl(#8106)
仅在 INFO 中造成 misleading metric当 Redis 具有子进程时,禁用 rehash(#8007)
这可能在 BGSAVE、replication 或 OFRW 期间导致过多的 CoW。进一步改进的用于分类的 ACL 算法(#7966)
ACL GETUSER 的输出现在与 ACL SETUSER 提供的输出更加相似。修复对 unaligned memory 的群集访问(旧 ARM 上的 SIGBUS)(#7958)
修复了将大于 2GB 的字符串保存到 RDB 文件中的问题(#8306)
......
其他改进:
在某些情况下避免浪费的 transient memory allocation(#8286,#5954)
平台/工具链支持相关的改进:
修复在 ARM 上的 crash log registers output(#8020)
添加针对 ARM64 Linux 内核错误的检查(#8224)
由于此问题的潜在严重性,Redis 将在启动时 print log warningRaspberry build 修复。(#8095)
新的配置选项:
oom-score-adj-values 配置现在可以采用绝对值(相对值除外)(#8046)
Module related fixes:
移动了 RMAPI_FUNC_SUPPORTED 使其可用(#8037)
提高计时器精度(#7987)
在 RM_CreateStringPrintf 的结果内允许'\0'(#6260)
https://github.com/redis/redis/releases/tag/6.0.10
关注Java技术栈看更多干货