科百科
当前位置: 首页 范文大全

redis哪个版本性能比较好(redis各版本特性)

时间:2023-06-07 作者: 小编 阅读量: 4 栏目名: 范文大全

Redis6.0多线程IORedis6引入多线程IO,但多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程。ACL权限控制支持对客户端的权限控制,实现对不同的key授予不同的操作权限。Redis将能够更频繁地进行部分重新同步,因为现在可以调整协议中的最终ping,从而使副本和主服务器能够找到共同的偏移量。执行同步删除操作的DEL命令将会继续保留。

Redis6.0

多线程IO

Redis 6引入多线程IO,但多线程部分只是用来处理网络数据的读写和协议解析,执行命令仍然是单线程。之所以这么设计是不想因为多线程而变得复杂,需要去控制 key、lua、事务,LPUSH/LPOP 等等的并发问题。

客户端缓存

客户端缓存在某些方面进行了重新设计,特别是放弃了缓存槽方法而只使用密钥名。在分析了备选方案后,在其他Redis核心团队成员的帮助下,最终这种方法看起来更好。除此之外,最后这个特性用我在这个特性的backlog中的东西完成了,特别是“广播模式”,我相信这将是这个特性最流行的使用模式之一。

当使用广播时,服务器不再试图记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每次修改与前缀匹配的密钥时,它们都会收到通知。这意味着更多的消息(但仅针对选定前缀),但服务器端没有内存工作。此外,现在支持opt-in/opt-out模式,因此客户端不使用广播模式,可以准确地告诉服务器客户端将缓存什么,以减少无效消息的数量。基本上,当需要低内存模式,以及需要非常选择性(低带宽)模式时,该特性现在都要好得多。

ACL权限控制

  1. 支持对客户端的权限控制,实现对不同的key授予不同的操作权限。
  2. 有一个新的ACL日志命令,允许查看所有违反ACL的客户机、访问不应该访问的命令、访问不应该访问的密钥,或者验证尝试失败。这对于调试ACL问题非常有用。

支持SSL

Redis 5之前的版本不只是数据在传输过程中进行加密,Redis 6支持了通道加密的功能,使得Redis更加安全。

RESP3协议

RESP(Redis Serialization Protocol)是 Redis 服务端与客户端之间通信的协议。Redis 5 使用的是 RESP2,而 Redis 6 开始在兼容 RESP2 的基础上,开始支持 RESP3。

推出RESP3的目的:一是因为希望能为客户端提供更多的语义化响应,以开发使用旧协议难以实现的功能;另一个原因是实现 Client-side-caching(客户端缓存)功能。

PSYNC2 改进

PSYNC2的复制协议现在已经改进了。Redis将能够更频繁地进行部分重新同步,因为现在可以调整协议中的最终ping,从而使副本和主服务器能够找到共同的偏移量。

改进 Redis 命令行的超时选项

带有超时的Redis命令现在好得多:不仅BLPOP和其他命令以前接受秒,现在接受十进制数,而且实际分辨率得到了提高,以便永远不会比当前的“HZ”值差,而不管连接了多少客户端。

提升了RDB加载速度

RDB文件现在可以更快地加载。根据文件的实际组成(较大或较小的值),您可以预期有20/30%的改进。当有许多客户机连接时,信息也变得更快了,这是一个长期的问题,现在终于消失了。

STRALGO 新命令

我们有一个新命令STRALGO,它实现了复杂的字符串算法。目前唯一实现的是LCS(最长公共子序列),它是一种重要的算法,用于比较冠状病毒的RNA(以及其他生物体的DNA和RNA)。发生的事情太大了,需要保留Redis内部的一些痕迹。

Redis集群代理模块

在 Redis 集群中,客户端会非常分散,现在为此引入了一个集群代理,可以为客户端抽象 Redis 群集,使其像正在与单个实例进行对话一样。同时在简单且客户端仅使用简单命令和功能时执行多路复用。

提供了众多的新模块(modules)API


Redis5.0
  • 新的流数据类型(Stream data type)
  • 新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs)
  • RDB 增加 LFU 和 LRU 信息
  • 集群管理器从 Ruby (redis-trib.rb) 移植到了redis-cli 中的 C 语言代码
  • 新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)
  • 升级 Active defragmentation 至 v2 版本
  • 增强 HyperLogLog 的实现
  • 更好的内存统计报告
  • 许多包含子命令的命令现在都有一个 HELP 子命令
  • 客户端频繁连接和断开连接时,性能表现更好
  • 升级 Jemalloc 至 5.1 版本
  • 引入 CLIENT UNBLOCK 和 CLIENT ID
  • 新增 LOLWUT 命令
  • 在不存在需要保持向后兼容性的地方,弃用 "slave" 术语
  • 网络层中的差异优化
  • 对 Redis 核心代码进行了重构并在许多方面进行了改进
  • 引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性

Redis4.0

模块系统

这个系统可以让用户通过自己编写的代码来扩展和实现 Redis 本身并不具备的功能。模块系统是通过高层次 API 实现的, 它与 Redis 内核本身完全分离、互不干扰,

以下是 redis.conf 中记载的模块载入方法:

################################## MODULES ###################################### Load modules at startup. If the server is not able to load modules# it will abort. It is possible to use multiple loadmodule directives.## loadmodule /path/to/my_module.so# loadmodule /path/to/other_module.so

Redis 模块可以在下列链接中看到:

https://redislabs.com/community/redis-modules-hub/

https://redis.io/modules

PSYNC2.0

优化了之前版本中,主从节点切换必然引起全量复制的问题。

提供了新的缓存剔除算法

  • 新添加了 Last Frequently Used 缓存驱逐策略
  • 对已有的缓存驱逐策略进行了优化

提供了非阻塞 DEL 、 FLUSHDB 和 FLUSHALL。

  • 新添加了 UNLINK 命令, 这个命令是 DEL 命令的异步版本, 它可以将删除指定键的操作放在后台线程里面执行, 从而尽可能地避免服务器阻塞。执行同步删除操作的 DEL 命令将会继续保留。
  • Redis 4.0 中的 FLUSHDB 和 FLUSHALL 这两个命令都新添加了 ASYNC 选项, 带有这个选项的数据库删除操作将在后台线程进行:

提供了Memory命令,实现对内存更为全面的监控统计。

新添加了一个 MEMORY 命令, 这个命令可以用于视察内存使用情况, 并进行相应的内存管理操作:

  • 使用MEMORY USAGE 子命令可以估算储存给定键所需的内存:
  • 使用MEMORY STATS 子命令可以查看 Redis 当前的内存使用情况:
  • 使用 MEMORY PURGE 子命令可以要求分配器释放更多内存:
  • 使用 MEMORY MALLOC-STATS 子命令可以展示分配器内部状态:

提供交互数据库功能,实现Redis内部数据库的数据置换。

新增了 SWAPDB 命令, 这个命令可以对指定的两个数据库进行互换:

提供了混合 RDB-AOF 持久化格式,充分利用了AOF和RDB各自优势。

新增了 RDB-AOF 混合持久化格式, 这是一个可选的功能, 在开启了这个功能之后, AOF 重写产生的文件将同时包含 RDB 格式的内容和 AOF 格式的内容, 其中 RDB 格式的内容用于记录已有的数据, 而 AOF 格式的内存则用于记录最近发生了变化的数据, 这样 Redis 就可以同时兼有 RDB 持久化和 AOF 持久化的优点 —— 既能够快速地生成重写文件, 也能够在出现问题时, 快速地载入数据。

这个功能可以通过 aof-use-rdb-preamble 选项进行开启, redis.conf 文件中记录了这个选项的使用方法:

8)Redis Cluster 兼容NAT和Docker。


Redis3.2

Redis3.2在2016年5月6日正式发布,相比于Redis3.0主要特征如下:

1)添加GEO相关功能。

2)SDS在速度和节省空间上都做了优化。

3)支持用upstart或者systemd管理Redis进程。

4)新的List编码类型:quicklist。

5)从节点读取过期数据保证一致性。

6)添加了hstrlen命令。

7)增强了debug命令,支持了更多的参数。

8)Lua脚本功能增强。

9)添加了Lua Debugger。

10)config set 支持更多的配置参数。

11)优化了Redis崩溃后的相关报告。

12)新的RDB格式,但是仍然兼容旧的RDB。

13)加速RDB的加载速度。

14)spop命令支持个数参数。

15)cluster nodes命令得到加速。

16)Jemalloc更新到4.0.3版本。


Redis3.0

Redis3.0在2015年4月1日正式发布,相比于Redis2.8主要特性如下:

Redis最大的改动就是添加Redis的分布式实现Redis Cluster。

1)Redis Cluster:Redis的官方分布式实现。

2)全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下载速度大幅提升。

3)Iru算法大幅提升。

4)migrate连接缓存,大幅提升键迁移的速度。

5)migrate命令两个新的参数copy和replace。

6)新的client pause命令,在指定时间内停止处理客户端请求。

7)bitcount命令性能提升。

8)cinfig set设置maxmemory时候可以设置不同的单位(之前只能是字节)。

9)Redis日志小做调整:日志中会反应当前实例的角色(master或者slave)。

10)incr命令性能提升。


Redis2.8

Redis2.8在2013年11月22日正式发布,经历了24个版本,到2.8.24版本,相比于Redis2.6,主要特性如下:

1)添加部分主从复制的功能,在一定程度上降低了由于网络问题,造成频繁全量复制生成RDB对系统造成的压力。

2)尝试性的支持IPv6.

3)可以通过config set命令设置maxclients。

4)可以用bind命令绑定多个IP地址。

5)Redis设置了明显的进程名,方便使用ps命令查看系统进程。

6)config rewrite命令可以将config set持久化到Redis配置文件中。

7)发布订阅添加了pubsub。

8)Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经变成生产可用。


Redis2.6

Redis2.6在2012年正式发布,经历了17个版本,到2.6.17版本,相对于Redis2.4,主要特性如下:

1)服务端支持Lua脚本。

2)去掉虚拟内存相关功能。

3)放开对客户端连接数的硬编码限制。

4)键的过期时间支持毫秒。

5)从节点支持只读功能。

6)两个新的位图命令:bitcount和bitop。

7)增强了redis-benchmark的功能:支持定制化的压测,CSV输出等功能。

8)基于浮点数自增命令:incrbyfloat和hincrbyfloat。

9)redis-cli可以使用--eval参数实现Lua脚本执行。

10)shutdown命令增强。

11)重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点。

12)info可以按照section输出,并且添加了一些统计项

13)sort命令优化

https://cloud.tencent.com/developer/article/1036868

https://www.cnblogs.com/qumogu/articles/13131876.html

,
    推荐阅读
  • 鹿角霜的功效与作用(鹿角霜的功效与作用介绍)

    跟着小编一起来看一看吧!鹿角霜别名鹿角白霜,是鹿角熬制鹿角胶后剩余的骨渣。味咸、涩,性温,归肝、肾两经,功效是温肾助阳、收敛止血,主治脾肾阳虚,白带过多,遗尿,尿频,崩漏下血,疮疡不敛等病证的治疗。可以配伍肉苁蓉、附子、巴戟天、蜀椒,上五味用于治疗肾寒,阳气不足。治疗诸虚百损,羸弱不堪者,可以用鹿角霜配伍薄荷末和鳗鱼,捣烂之后做成丸子调服,每次服15g,每日3次。

  • 宝骏510打方向异响 宝骏打方向有咯噔异响

    因此有效减少方向机磨损的方法,是减轻方向机工作中的负重。

  • 7月下旬南方涨势加速,高价区将向10元靠近

    南边有如此之涨势主要有四个方面的缘由,今年全体出栏低位,产能筛选处理了过剩的疑问,这是支持全体猪价的根本面。其次,环保对南边整治力度非常大,沿海区域禁养区、限养区紧缩了很多的产能,这是支持本地猪价上涨的重要缘由。第三现在是南边供给断档的高峰期,猪源严重程度可见一斑。最终即是养殖户压栏的支持。9元、9.5元甚至10元都现已呈现了,那么天然我们会期盼更高的价位。

  • 高温瑜伽属于有氧吗 高温瑜伽属于有氧吗还是无氧

    有氧运动也叫做有氧代谢运动,是指人体在氧气充分供应的情况下进行的体育锻炼。要求每次锻炼的时间不少于1小时,每周坚持3到5次。双臂往两侧伸直,与肩同高。注意转的过程中双腿始终以同样的力度夹紧小球,不可离地。一些急性病患者也不要做高温瑜伽,如感冒、发烧等。这是因为,在身体虚弱的情况下进行高温瑜伽练习不利于恢复,而且,急性病人练习高温瑜伽容易导致脱水,带来意想不到的麻烦。

  • 锦鲤寓意象征(锦鲤寓意象征什么)

    以下内容希望对你有帮助!锦鲤寓意象征锦鲤是一种高品质、高品味的观赏鱼,寓意象征“富贵、吉祥、健康和幸福”;锦鲤因为色彩绚烂,如水中牡丹,所以又称“富贵鱼”、“贵族鱼”。

  • 古代员外是现代的什么官(古代什么样的人才能称为)

    员外一词,始于三国时期,本是一种官职,是在定额以外设置的官员。南北朝时,有殿中员外将军、员外司马等。不过到了明朝以后,随着历代的官制改革,员外又逐渐的成为一种闲职,甚至可以纳钱捐买。于是一些地主和商人通过捐赠银两的方式来获取员外一职,渐渐的员外就进一步演化为对地主富豪的一种称呼。所以"员外"一词逐渐失去了其本来含义,而专指一些有钱人了。

  • 微微和思进是什么电视剧(微微和思进的电视剧介绍)

    我们一起去了解并探讨一下这个问题吧!微微和思进是什么电视剧微微和思进是电视剧《最美是你》里的。《最美是你》是由周德华执导,于小伟、于明加领衔主演的都市情感剧。该剧讲述了一群都市男女在经历了种种爱恨情仇之后最终走回正途的走心温情故事。该剧于2016年3月10日首播。

  • 中共四大纪念馆预约流程一览(四大会址纪念馆 预约)

    中共四大纪念馆疫情期间,所有入馆观众须通过“红途”平台,使用本人身份证进行“实名制、分时段”线上预约,观众可提前2至3日(含当天)通过该平台进行参观预约,每张有效证件每天仅可预约一次,同账号同时段最多可预约3人,约满即止。

  • 四位火影被复活是哪一集(你知道答案了吗)

    四位火影被复活是哪一集第69集,小樱解除了鸣人和鹿丸的幻术,并按照卡卡西的指示,去追踪佐助,并阻止佐助的行动,之后在安全地点待命。鸣人刚刚醒来,就被眼前发生的事情惊呆了,毕竟谁也没想到,好好一场中忍考试,竟然变成了一场战争。与此同时,在大蛇丸的结界中,火影和大蛇丸展开了战斗,可惜结界外的人只能看到战况,却无法帮忙。佐助向日斩质问鼬的一切,向糜间盘问宇智波一族的秘密。

  • 刘寄奴 刘寄奴的别名

    刘寄奴的功效作用:破血通经,敛疮消肿。治经闭症瘕,胸腹胀痛,产后血瘀,跌打损伤,金疮出血,痈毒焮肿。刘寄奴的主要用途:疗金疮,止血为要药;产后余疾,下血、止痛、小儿尿血,新者研末服、"治心腹痛,下气水胀、血气,通妇人经脉症结,止霍乱水泻…