Redis 6.0.10 发布

来源: OSCHINA
2021-01-15

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

展开阅读全文
8 收藏
分享
加载中
精彩评论
面试题:Redis有哪几种值类型,各自的应用场景是什么?如何用Redis list实现消息队列?如何用Redis PubSub实现消息推送?如何用Redis实现锁?Redis有哪几种持久化方式,区别是什么?
2021-01-15 11:09
8
举报
我说的都是Redis基础面试题,很多点都可以延伸出来.
就拿消息队列来说,考察了Redis用list实现消息队列后,还可以延伸考察,如果用PHP实现一个Redis list那样的双向队列,该怎么实现?说说思路.说完思路后,让面试者用OOP写一个PHP双向队列类.
还有,考察PubSub消息推送后,可以延伸考察如何用HTTP长连接配合Redis PubSub实现消息推送.
至于Redis持久化,考察完AOF持久化,可以延伸考察到MySQL,说说MySQL持久化和Redis AOF的区别.
锁的话,能说的就更多了,如何避免死锁,还可以延伸到MySQL实现乐观锁和悲观锁.
总之,想拿几十K,靠混靠背面试题,是不行的.
2021-01-17 23:00
3
举报
这次没看错,的确是 Redis 不是 Rails 。。。Redis 6已经稳定,未来分布式缓存 Redis 足已。
2021-01-15 13:58
2
举报
还在用4.0.9,都飘到6.0.10了
2021-01-15 16:54
1
举报
我就知道put get。
2021-01-15 12:23
1
举报
最新评论 (10)
Redis 就通过 gitlab 在使用中
2021-01-16 11:24
0
回复
举报
还在用4.0.9,都飘到6.0.10了
2021-01-15 16:54
1
回复
举报
这次没看错,的确是 Redis 不是 Rails 。。。Redis 6已经稳定,未来分布式缓存 Redis 足已。
2021-01-15 13:58
2
回复
举报
面试题:Redis有哪几种值类型,各自的应用场景是什么?如何用Redis list实现消息队列?如何用Redis PubSub实现消息推送?如何用Redis实现锁?Redis有哪几种持久化方式,区别是什么?
2021-01-15 11:09
8
回复
举报
我就知道put get。
2021-01-15 12:23
1
回复
举报
基本操作
2021-01-15 12:56
0
回复
举报
Redis实现消息队列你又嫌弃它不可靠,生产不用考啥考;
Redis锁就是 set lock:k v 多指令用lua扩展;
持久化无非快照和append

结论:啥热门考题,该换换了
2021-01-17 17:28
0
回复
举报
我说的都是Redis基础面试题,很多点都可以延伸出来.
就拿消息队列来说,考察了Redis用list实现消息队列后,还可以延伸考察,如果用PHP实现一个Redis list那样的双向队列,该怎么实现?说说思路.说完思路后,让面试者用OOP写一个PHP双向队列类.
还有,考察PubSub消息推送后,可以延伸考察如何用HTTP长连接配合Redis PubSub实现消息推送.
至于Redis持久化,考察完AOF持久化,可以延伸考察到MySQL,说说MySQL持久化和Redis AOF的区别.
锁的话,能说的就更多了,如何避免死锁,还可以延伸到MySQL实现乐观锁和悲观锁.
总之,想拿几十K,靠混靠背面试题,是不行的.
2021-01-17 23:00
3
回复
举报
这几个不都是标准面试题吗
2021-01-18 16:16
0
回复
举报
啊,大神怎么弄这么多内容?
2021-01-15 10:02
0
回复
举报
更多评论
10 评论
8 收藏
分享
返回顶部
顶部