[转帖]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抛弃原 ...
随机推荐
- DataX快速入门
DataX3.0快速入门 一.DataX3.0概览 DataX是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内部被广泛使用的离线数据同步工具/平台.解决了数据库之中的数据同步.迁移问题, ...
- 神经网络基础篇:梯度下降法(Gradient Descent)
梯度下降法 梯度下降法可以做什么? 在 测试集上,通过最小化代价函数(成本函数)\(J(w,b)\)来训练的参数\(w\)和\(b\), 如图,在第二行给出和之前一样的逻辑回归算法的代价函数(成本函数 ...
- TooKit助力开发者上云
本文分享自华为云社区<华为云Classroom赋能-TooKit助力开发者上云>,作者:华为云PaaS服务小智 . 对于资深程序员而言,IDE是必不可少的,它好比是剑客手中的宝剑,IDE帮 ...
- 这项评测,华为云GaussDB(for MySQL)顺利通过
摘要:近日,中国信息通信研究院(简称"中国信通院")公布了第十五批"可信数据库"评测结果.华为云GaussDB(for MySQL)凭借过硬的技术实力顺利通过& ...
- Java程序员都要懂得知识点:原始数据类型
摘要:Java原始数据类型有short.byte.int.long.boolean.char.float.double.原始数据是未处理的或简化的数据,它构成了物理存在的数据,原始数据具有多种存在形式 ...
- 华为云PB级数据库GaussDB(for Redis)揭秘第13期:如何搞定推荐系统存储难题
摘要:GaussDB(for Redis)轻松搞定推荐系统核心存储,为企业级应用保驾护航. 本文分享自华为云社区<GaussDB(for Redis)揭秘第13期:如何搞定推荐系统存储难题?&g ...
- APP安全加固怎么做?加固技术、加固方法、加固方案
前面的文章中我们为大家介绍了移动应用安全检测的测试依据.测试方法.和测试内容,本文我们着重分享App安全加固的相关内容. (安全检测内容) 通过前面的文章我们知道了app安全检测要去检测哪些内 ...
- 从飞书妙记秒开率提升,看火山引擎A/B测试在研发场景的应用
作者:DataTester 用户体验是决定互联网产品能否长久生存的关键,每一个基于产品功能.使用和外观的微小体验,都将极大地影响用户留存和满意度. 对于企业协作平台飞书而言,用户体验旅程从打开 ...
- 以 100GB SSB 性能测试为例,通过 ByteHouse 云数仓开启你的数据分析之路
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 I. 传统数仓的演进:云数仓 近年来,随着数据"爆炸式"的增长,越来越多的数据被产生.收集和存 ...
- Flask依赖的核心模块werkzeug
Flask的web框架实现 Flask是python Web框架,自然要遵 WSGI 规范,需要同时实现服务端程序+应用程序,并且要丰富完善请求和响应的处理. Flask自身并没有实现WSGI,而是依 ...