大家周末愉快啊,今天分享一则重要通知。

Redis 6.0.8 于 2020/9/10 日晚紧急发布!!!

可以看到这是一个紧急更新版本,使用了 Redis 6.0.7 Sentinel(哨兵)以及

CONFIG REWRITE 命令的用户受到影响,请尽快升级,参考问题:#7760。

https://github.com/redis/redis/issues/7760

Redis 6.0.8 发布邮件:

https://groups.google.com/g/redis-db/c/Wmf0RB25PmY/m/d7hVkerfBQAJ

以下是主要内容预览:

难道 Redis 出现了严重漏洞不成?栈长来解读一下这封邮件内容!

除了以上提到的受影响的内容之外,还有以下三方面的更新:

1、问题修复:

  • 通过 Redis 的 CONFIG SET 命令设置 oom-score-adj-values 参数值,或者通过在配置文件中加载的时候,将生成一个损坏的配置文件导致 Redis 启动失败;(好吧!不是漏洞,是 Redis 的一个 bug 而已!)
  • 修改 MacOS 系统下一个 redis-cli --pipe 使用问题;
  • 修复了当不存在的键时,使用 HKEYS/HVALS 命令的响应问题;
  • 其他各种小错误的修复;

2、新特性/改变

  • 移除设置 madvise 时的 THP 警告;
  • 允许在集群的只读副本上执行读取命令;
  • redis-cli --cluster 命令增加 masters/replicas 选项;

3、模块API

  • 增加 RedisModule_ThreadSafeContextTryLock 模块(线程安全的锁);

重点来看一下这个导致重大问题的 oom-score-adj-values 参数的用处:

https://github.com/redis/redis/pull/1690/files

############################ KERNEL OOM CONTROL ##############################

# On Linux, it is possible to hint the kernel OOM killer on what processes
# should be killed first when out of memory.
#
# Enabling this feature makes Redis actively control the oom_score_adj value
# for all its processes, depending on their role. The default scores will
# attempt to have background child processes killed before all others, and
# replicas killed before masters. oom-score-adj no # When oom-score-adj is used, this directive controls the specific values used
# for master, replica and background child processes. Values range -1000 to
# 1000 (higher means more likely to be killed).
#
# Unprivileged processes (not root, and without CAP_SYS_RESOURCE capabilities)
# can freely increase their value, but not decrease it below its initial
# settings.
#
# Values are used relative to the initial value of oom_score_adj when the server
# starts. Because typically the initial value is 0, they will often match the
# absolute values. oom-score-adj-values 0 200 800

这个 oom-score-adj 参数是用来 Linux 内核控制调优的,在 Linux 系统中,当内存溢出时,可以提示内核 OOM killer 应该首先杀死哪些进程。

默认 oom-score-adj-values 不设置的情况下会优先杀死后台子进程,然后主从节点优先优先杀死从节点。

所以这 3 个值分别用来设置主、从、后台子进程的分值的,分值范围从 -1000 ~ 1000,分值越高越有可能被先杀死。

PS: 软件嘛,总避免不了bug,所以,各位开发、运维的同学,如果有用到这个的,请尽快升级保平安。

最后,欢迎大家关注微信公众号:Java技术栈,可以阅读栈长我写的往期 Redis 系列教程,后续更多干货陆续奉上。

觉得有用,欢迎在看、转发支持下,感谢了!

近期热文推荐:

1.免费获取 IntelliJ IDEA 激活码的 6 种方式!

2.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

3.吊打 Tomcat ,Undertow 性能很炸!!

4.国人开源了一款超好用的 Redis 客户端,真香!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

Redis 6.0.8 紧急发布,请尽快升级!的更多相关文章

  1. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  2. Redis 6.0 多线程重磅发布!!!

    Redis 6.0在5.2号这个美好的日子里悄无声息的发布了,这次发布在IT圈犹如一颗惊雷一般,因为这是redis最大的一次改版,首次加入了多线程. 作者Antirez在RC1版本发布时在他的博客写下 ...

  3. 高危!Fastjson反序列化远程代码执行漏洞风险通告,请尽快升级

    据国家网络与信息安全信息通报中心监测发现,开源Java开发组件Fastjson存在反序列化远程代码执行漏洞.攻击者可利用上述漏洞实施任意文件写入.服务端请求伪造等攻击行为,造成服务器权限被窃取.敏感信 ...

  4. 屏蔽“您目前使用的Discuz!程序有新版本发布,请及时升级!”提示

    在/discuz/source/admincp目录下找到文件:admincp_main.php 找到第49行: if($_G['uid'] && $_G['member']['allo ...

  5. 阿里云发布 Redis 5.0 缓存服务:全新 Stream 数据类型带来不一样缓存体验

    4月24日,阿里云正式宣布推出全新 Redis 5.0 版本云数据库缓存服务,据悉该服务完全兼容 4.0 及早期版本,继承了其一贯的安全,稳定,高效等特点并带来了全新的 Stream 数据结构及多项优 ...

  6. [转帖]Chrome用户请尽快更新:谷歌发现两个严重的零日漏洞

    Chrome用户请尽快更新:谷歌发现两个严重的零日漏洞 https://news.cnblogs.com/n/647075/ 强烈建议:Chrome 用户请尽快升级浏览器!在谷歌今天发布的紧急补丁程序 ...

  7. Redis 6.0 正式版终于发布了!除了多线程还有什么新功能?

    Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最"企业"化的版本,也是有史以来改动最大的一个 Redi ...

  8. 161128、Redis 4.0发布及其新功能介绍

    Redis 4.0-rc1 发布了,这是 4.0 的首个 RC 版.Redis 是一个高性能的key-value数据库.Redis 的出现,很大程度补偿了memcached这类keyvalue存储的不 ...

  9. Redis 3.0 Windows 安装步骤

    Redis 3.0 Windows 安装步骤 ----来自 https://www.aliyun.com/jiaocheng/872572.html 发布时间:2018-04-10 来源:网络 上传者 ...

随机推荐

  1. java类的定义与使用

    一 引用数据类型 1.引用数据类型的分类 我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包 含了很多的方法与属性,可供我们使用. ...

  2. python关于函数调用作为参数的说明&&装饰器

    python关于函数调用作为参数的说明&&装饰器 简单的: 先看代码: def out(): print('out') def inner(): return 'inner' retu ...

  3. GaussDB连接与登出

    连接 连接命令1: gsql -d ${dbName} -U ${userName} -p {port:默认为25308} -h {ip} -W {password} 连接命令2: gsql -d p ...

  4. MySQL执行文件中的SQL

    连接进入MySQL服务, 使用source ${文件名}执行. 末尾不能带分号.

  5. async 函数的含义和用法

    Generator函数的含义与用法 Thunk函数的含义与用法 co函数库的含义与用法 async函数的含义与用法 一.终极解决 异步操作是 JavaScript 编程的麻烦事,麻烦到一直有人提出各种 ...

  6. excel表格,根据某一列的值对整行进行颜色填充

    1.选中要影响的表格范围,选择 “条件格式”,选择 “新建规则” (2)选择 “使用公式确定要设置格式的单元格”,录入公式,选择 “ 格式”,注意: 公式为:=$H1="待解决" ...

  7. python接口自动化 - 断言(上)

    我们在做接口自动化的时候会用当unittest框架,这个框架中是有assert方法 当我们写好我们的case后 总要有个验证是否正确的东西,assert就给我们提供了非常强大的结果验证 序号 断言方法 ...

  8. Jmeter(二十二) - 从入门到精通 - JMeter断言 - 下篇(详解教程)

    1.简介 断言组件用来对服务器的响应数据做验证,常用的断言是响应断言,其支持正则表达式.虽然我们的通过响应断言能够完成绝大多数的结果验证工作,但是JMeter还是为我们提供了适合多个场景的断言元件,辅 ...

  9. nova卸载volume源码分析

    基于llvm +iscsi协议进行分析 1.客戶端接受请求并路由到 VolumeAttachmentController 其对应的restfull请求格式如下:delete /servers/{ser ...

  10. Linux系统修改服务器系统时间

    修改Linux系统时间,需要执行两个命令,如下: 第一条指令:date –s '2017-07-12 10:22:30' 第二条指令:clock –w //将日期写入CMOS