[转帖]Redis各版本特性汇总
| redis4 | redis5 | redis6 | redis6.2 | |
| 重大特性 | 1.模块系统 2.PSYNC2 3.LFU淘汰策略 4.混合RDB-AOF持久化 5.LAZY FREE延迟释放 6.MEMORY内存分析命令 7.支持NAT/DOCKER 8.主动碎片整理 |
1.新增Stream数据类型 2.新增Redis模块API:定时器、集群和字典API 3.RDB现在存储LFU和LRU信息 4.集群管理器被从redis-trib.rb移植到redis-cli 5.第二版主动碎片整理 6.升级Jemalloc到5.1版本 |
1.ACL支持 2.Redis现在支持所有通道的SSL 3.支持新协议RESP3 4.服务器端支持的客户端键值缓存 5.IO多线程处理 6.副本实例支持无磁盘复制 7.Redis集群代理 8.Redis的Disque模块 |
|
| 小特性 | 1.RDB支持64位长度 2.SWAPDB无延迟替换同实例下两数据库 3.改进Redis哈希表实现 4.安全改进,映射POST和Host:命令到QUIT命令,以防止跨协议脚本攻击 5.RPUSHX和LPUSHX现在可以接受元素数量的变量 6.重构Redis的许多核心部分 |
1.Sorted Set新增ZPOPMIN/MAX和阻塞版本命令 2.HyperLogLog实现改进 3.内存报告优化 4.一些带子命令的命令增加了HELP子命令 5.在客户端连接和断开频繁的情况提供更好的性能。 6.很多bug修复和其他随机改进 7.新增CLIENT UNBLOCK和CLIENT ID命令 8.增加LOLWUT命令(快速生成一些图形的与技术使用无关的有趣命令) 9.网络层改进 10.LUA改进 11.动态HZ来调整空闲CPU使用率和响应速度 12.Redis核心被重构和改进了许多方面 |
1.模块系统提供了一些新的API,允许模块作者使用新的功能。 2.可以存储任意模块私有数据到RDB文件 3.Redis-benchmark支持Redis Cluster模式 4.SRANDMEMBER等命令提供更好的取值分布 5.Redis-cli提升 6.Systemd支持被重写了 |
1. 导出和载入数据的安全性: 防止损坏数据导致崩溃。有标记来开启 全量 O(N)校验(默认是关闭的) 2. Pub/Sub频道支持 ACL规则 3. Sentinel模式支持 ACL 4. 同时支持从标准输入流和配置文件获取配置,可以避免密钥存储到磁盘上。 5. 新增 SMISMEMBER命令批量检查成员。 6. 新增 ZMSCORE命令返回分数数组 7. 新增 LMOVE 和 BLMOVE命令来任意存取元素 8. 新增 RESET 命令重置客户端连接状态 9. 新增 COPY 命令复制键 10. 新增 ZDIFF 和 ZDIFFSTORE 命令 11. 新增 ZINTER 和 ZUNION 命令 12. 新增 GEOSEARCH/GEOSEARCHSTORE 命令用于绑定矩形查询 13. 新增 GET 命令的参数到 SET 命令,以实现更强大的 GETSET 14. 新增 XPENDING 命令的独占范围查询 15. 新增 X[REV]RANGE 命令的独占范围查询 16. 新增 ZADD 命令的 GT 和 LT 选项以实现条件分数更新 17. 新增 CLIENT INFO 和 CLIENT LIST 命令用于指定 id 18. 新增 IDLE 参数到 XPENDING 命令 19. 新增本地地址到 CLIENT LIST,并且添加 CLIENT KILL 筛选器 20. 新增 NOMKSTREAM 参数到 XADD 命令 21. 新增 introduction命令到Sentinel实例 22. 新增 SENTINEL MYID 子命令 23. redis-cli RESP3协议推送支持 24. redis-cli cluster集群导入支持源和目标支持密码 25. redis-cli URIs 除密码外还可以提供用户名 26. redis-cli/redis-benchmark支持指定首选密码 27. redis-cli 增加 -e选项来在命令执行失败退出时返回的代码 |
| 不向后兼容的更改/行为变更 | 1.Redis Cluster 总线协议4.0不再兼容Redis 3.2 2.集群CLUSTER NODES命令输出带总线端口信息 3.可写的slave节点不会传播写入到他的下级slave节点 4.RDB格式变了,旧版本不能读取新版本RDB数据 5.日志格式及句子变化 6.GEODIST、GEOPOS和GEOHASH对于不存在的键的返回值变了 7.SLOWLOG命令条目新增客户端地址和名称字段 |
1.RDB格式变化 2.日志格式及句子变化 3.LUA脚本只会根据它们的效果进行复制,而不是发送EVAL/EVALSHA到从节点或AOF日志本身 |
SPOP <count> 命令在key不存在的时候,不回返回null了,现在它返回空集合,并且参数是0时,也返回空集合 | 1. EXISTS不会改变Key的LRU信息(#8016) 2. OBJECT不会暴露逻辑过期的键(#8016) 3. 提升SELECT和MOVE命令的数据库id的检查范围,调整了数据库索引错误返回的错误信息 4. 调整 AUTH / HELLO 的错误信息,修改了用户不存在或用户被禁用后的错误信息提示 5. BITOPS 长度限制为proto_max_bulk_len而不是512MB(#8096) 6. GEORADIUS[BYMEMBER] 出现内存超限的情况可以失败返回-OOM。 7. 选择性地(默认)失败启动,如果请求的绑定地址不可用(#7936) 8. 限制主db字典扩展以防止键退出(#7954) 9. CONFIG REWRITE是原子的和安全的,但是需要写入配置文件的文件夹(#7824,#8051) 10. 增加一个增量eviction机制,减少eviction峰值的延迟(#7653) 11. 当Redis使用命令行参数启动时,不重置“save”配置(#7092) 12. 在您使用命令行参数启动时,如果未“save”的配置,现在默认的“save”配置将被启用。 13. 在实例Loading时会更新INFO命令的内存指标(#7690) 14. 当“supervised”配置启用时,它优先于“daemonize”。(#8036) 15. 断言和panic,打印crash日志而不生成SIGSEGV(#7585) 16. 在SIGABRT时增加崩溃日志报告,而不是静默退出。 17. 如果启用了THP (大页配置)则禁用。 |
| bug修复 | 1. 处理输出缓冲区限制的模块阻塞客户端(#8141) 2. 修复setproctitle(设置进程名称python操作)相关的崩溃。(#8150,#8088) 3. 一个模块执行RM_Call操作时可能导致副本实例嵌套MULTI(#8097) 4. 在repl-diskless-load=swapdb时,将备份/还原集群模式的键到槽的映射#8108) 5. 修复oom-score-adj-values范围,以及在配置文件中使用时出现的bug(#8046) 6. 当清空的数据库时重置平均ttl(#8106) 7. 禁用rehash,当Redis有子进程时(#8007) 8. 进一步改进了用于选择类别的ACL算法 9. 修复GIL模块过早释放的问题 10. 修复了无FirstKey的模块命令的集群重定向(#7539) 11. 降低在key移除时对客户端的反馈环节的影响。 12. 当所有的副本丢弃并且“save”没有启用时,磁盘基础的fork子进程将被杀死(#7819) 13. 重写的命令被记录为它的原始命令(#8006) 14. 修复集群访问不对齐内存问题(旧的ARM架构为SIGBUS)(#7958) 15. 如果无磁盘复制的子进程被杀死,确保能获取到子进程的id(#7742) 16. 当slot的迁移完成时,广播一个PONG消息,可以减少MOVED返回(#7571) |
|||
| 改进 | 1. 在redis-benchmark中支持TLS(#7959) 2. 加速无磁盘复制主连接和一般的重新连接(#6271) 3. 在阻塞或加载数据时运行主动碎片整理 4. 性能和内存使用情况的改进 - sds自己控制其内部碎片(#7875) 5. 可选的(非默认配置)使用H/W Monotonic时间采样(#7644) 6. 删除编译器对C11和_Atomic支持的的需求(#7707) 7. 修复ARM的崩溃日志输出。(#8020) 8. 树莓派系统编译修复。(#8095) 9. 设置进程标题支持Haiku(操作系统)。(#8060) 10. DragonFlyBSD RSS内存采样支持。(#8023) 11. 支持配置OpenSSL使用标准openssl.cnf(#8143) 12. oom-score-adj-values配置可以现在接受绝对值(除了相对值)(#8046) 13. TLS:添加不同的客户端证书支持。(#8076) 14. 上面列出的其他一些更改添加了其配置选项。 15. 添加INFO字段跟踪磁盘无磁盘复制和磁盘复制进度(#7981) 16. 添加INFO字段主线程CPU时间,并采集系统时间。(#8132) 17. 添加total_forks字段到INFO STATS(#8155) 18. 添加maxclients和cluster_connections字段到INFO CLIENTS(#7979) 19. 添加跟踪bcast(广播地址)标志和客户端重定向信息到 client list(#7995) 20. 修复INFO client_recent_max_input_buffer包含argv数组的问题(#8065,参见#7874) 21. 上面列出的其他一些更改添加了其info字段。 22. 添加CTX_FLAGS_DENY_BLOCKING作为一个统一的方式来知道是否允许阻塞(#8025) 23. 惰性删除和unlink增加返回数据类型(#7912) 24. COPY命令增加数据类型返回(#8112) 25. 碎片整理增加数据类型返回(#8149) 26. 增加repl-diskless-load swapdb模块事件(#8153) 27. 移动RMAPI_FUNC_SUPPORTED,使其可用(#8037) 28. 提高定时器精度(#7987) 29. 允许“\0”在出现RM_CreateStringPrintf的结果中(#6260) |
[转帖]Redis各版本特性汇总的更多相关文章
- [转帖]sql server版本特性简介、版本介绍简介
sql server版本特性简介.版本介绍简介 https://www.cnblogs.com/gered/p/10986240.html 目录 1.1.sql server的版本信息 1.2.版本重 ...
- Redis 的 GEO 特性将在 Redis 3.2 版本释出
Redis 的 GEO 特性将在 Redis 3.2 版本释出, 这个功能可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作. 本文将对 Redis 的 GEO 特性进行介绍, 说明这个特性 ...
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) C#各版本新特性 C#版本和.NET版本以及VS版本的对应关系
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) 2017年08月06日 11:53:13 阅读数:6705 历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有1 ...
- Redis学习第八课:Redis高级实用特性(二)
Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...
- Redis学习第八课:Redis高级实用特性(一)
Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...
- 如何在windows上玩转redis的最新特性?
想要了解redis的最新特性,可是windows下的可以安装的版本最高为3.2,想要验证redis的诸如stream特性的话,就无能为力了. 解决方法之一在windows上安装虚拟机,然后再虚拟机上安 ...
- ECMAScript版本知识点汇总
ECMAScript版本知识点汇总 ES5 btoa.atob 对参数进行base64格式编码.解码 /** * btoa() * base64编码 * @param {string} str * @ ...
- Redis缓存何以一枝独秀?——从百变应用场景与热门面试题中感受下Redis的核心特性与使用注意点
大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 作为<深入理解缓存原理与实战设计 ...
- 【转】Spark-Sql版本升级对应的新特性汇总
Spark-Sql版本升级对应的新特性汇总 SparkSQL的前身是Shark.由于Shark自身的不完善,2014年6月1日Reynold Xin宣布:停止对Shark的开发.SparkSQL抛弃原 ...
随机推荐
- 解锁华为云AI如何助力无人车飞驰“新姿势”,大赛冠军有话说
摘要:在2020年第二届华为云人工智能大赛•无人车挑战杯赛道中,"华中科技大学无人车一队"借助华为云一站式AI开发与管理平台ModelArts及HiLens端云协同AI开发应用平台 ...
- 容器、Docker、虚拟机,别再傻傻分不清
摘要:容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源.尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知. 容器技术起源于Linux,是一种内核 ...
- 华为云GaussDB两大数据库通过中国信通院多项评测
摘要:权威认可!华为云GaussDB两大数据库通过中国信通院多项评测. 本文分享自华为云社区<官宣!华为云GaussDB两大数据库通过中国信通院多项评测>,作者: GaussDB 数据库 ...
- APP违法使用个人信息?不用怕,华为云VSS为你保驾护航
摘要:华为云VSS漏洞扫描服务移动应用安全检测,为华为云客户提供移动应用的合规检测能力,遵循工信部164号文要求,针对安卓(apk)和鸿蒙(hap)应用进行安全和隐私合规问题检测. 本文分享自华为云社 ...
- 十问ByteHouse:如何基于ClickHouse玩转向量检索?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 向量检索被广泛使用于以图搜图.内容推荐以及大模型推理等场景.随着业务升级与 AI 技术的广泛使用,用户期望处理的向 ...
- 不知如何优选达人?火山引擎 VeDI 零售行业解决方案一键解决!
技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 "人-货匹配"这句营销老话,在直播电商兴起的这几年,似乎不再专指消费者与商品之间的关系. 过去 ...
- 让 ChatGPT 如虎添翼 2.0
月初写了4个工具,让 ChatGPT 如虎添翼!,时隔二十多天,我又发现了基于ChatGPT的应用,只推最好用的,强烈建议大家都感受一下. 极简搭建 ChatGPT 演示网页 项目地址:https:/ ...
- 6行代码!用Python将PDF转为word
pdf转word应该算是一个很常见的需求了 网上有些免费的转换工具,一方面不安全,有文件泄露风险,另一方面有免费转换的次数限制. 今天向大家分享一个很好用的工具:pdf2docx 安装 $ pip i ...
- 【JAVA基础】JAVA基础知识整理
https://www.weixueyuan.net/java/rumen_1/ JAVA的三大版本 JDK.JRE.JVM JAVA安装与卸载 JDK结构 HelloWorld运行 编译型与解释型 ...
- 地图区域大数据量 marker 坐标点高效抽稀算法
按网上的思路一般要写双层循环,第一层循环遍历点集合,时间复杂度为O(N),第二层循环遍历结果集,逐一计算距离,距离小于阈值的不加入结果集,距离大于阈值的加入结果集,时间复杂度为O(M),双层循环总时间 ...