Redis 6.0.10 发布

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 warning
  • Raspberry 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

猜你喜欢

转载自www.oschina.net/news/126584/redis-6-0-10-released