百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

redis从2.x-3.x-4.x-5.x各版本特性及优化点

mhr18 2024-11-02 11:55 33 浏览 0 评论

1.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)info可以按照section输出,并且添加了一些统计项。

12)重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功

能将会是3.0版本最大的亮点。

13)sort命令优化。

2.Redis2.8

Redis2.8在2013年11月22日正式发布,经历了24个版本,到2.8.24版本,

相比于Redis2.6,主要特性如下:

1)添加部分主从复制的功能,在一定程度上降低了由于网络问题,造

成频繁全量复制生成RDB对系统造成的压力。

2)尝试性地支持IPv6。

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

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

54

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

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

7)发布订阅添加了pubsub命令。

8)Redis Sentinel第二版,相比于Redis2.6的Redis Sentinel,此版本已经

变成生产可用。

3.Redis3.0

Redis3.0在2015年4月1日正式发布,截止到本书完成已经到3.0.7版本,

相比于Redis2.8主要特性如下:

注意

Redis3.0最大的改动就是添加Redis的分布式实现Redis Cluster,填补了

Redis官方没有分布式实现的空白。Redis Cluster经历了4年才正式发布也是

有原因的,具体可以参考Redis Cluster的开发日志

(http://antirez.com/news/79)。

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

2)全新的embedded string对象编码结果,优化小对象内存访问,在特定

的工作负载下速度大幅提升。

3)lru算法大幅提升。

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

55

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

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

7)bitcount命令性能提升。

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

节),例如config set maxmemory1gb。

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

slave)。

10)incr命令性能提升。

4.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命令,支持了更多的参数。

56

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版本。

5.Redis4.0

1)提供了模块系统,方便第三方开发者拓展Redis的功能,更多模块详

见:http://redismodules.com。

2)PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的

问题。

3)提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有

算法进行了优化。

4)提供了非阻塞del和flushall/flushdb功能,有效解决删除bigkey可能造

成的Redis阻塞。

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

势。

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

7)提供了交互数据库功能,实现Redis内部数据库之间的数据置换。

8)Redis Cluster兼容NAT和Docker。

6.Redis5.0

1) 新的流数据类型(Stream data type) https://redis.io/topics/streams-intro

2) 新的 Redis 模块 API:定时器、集群和字典 API(Timers, Cluster and Dictionary APIs)

3) RDB 现在可存储 LFU 和 LRU 信息

4) redis-cli 中的集群管理器从 Ruby (redis-trib.rb) 移植到了 C 语言代码。执行 `redis-cli --cluster help` 命令以了解更多信息

5) 新的有序集合(sorted set)命令:ZPOPMIN/MAX 和阻塞变体(blocking variants)

6) 升级 Active defragmentation 至 v2 版本

7) 增强 HyperLogLog 的实现

8) 更好的内存统计报告

9) 许多包含子命令的命令现在都有一个 HELP 子命令

10) 客户端频繁连接和断开连接时,性能表现更好

11) 许多错误修复和其他方面的改进

12) 升级 Jemalloc 至 5.1 版本

13) 引入 CLIENT UNBLOCK 和 CLIENT ID

14) 新增 LOLWUT 命令 http://antirez.com/news/123

15) 在不存在需要保持向后兼容性的地方,弃用 "slave" 术语

16) 网络层中的差异优化

17) Lua 相关的改进:

a)将 Lua 脚本更好地传播到 replicas / AOF

b)Lua 脚本现在可以超时并在副本中进入 -BUSY 状态

18) 引入动态的 HZ(Dynamic HZ) 以平衡空闲 CPU 使用率和响应性

19) 对 Redis 核心代码进行了重构并在许多方面进行了改进

相关推荐

【推荐】一个开源免费、AI 驱动的智能数据管理系统,支持多数据库

如果您对源码&技术感兴趣,请点赞+收藏+转发+关注,大家的支持是我分享最大的动力!!!.前言在当今数据驱动的时代,高效、智能地管理数据已成为企业和个人不可或缺的能力。为了满足这一需求,我们推出了这款开...

Pure Storage推出统一数据管理云平台及新闪存阵列

PureStorage公司今日推出企业数据云(EnterpriseDataCloud),称其为组织在混合环境中存储、管理和使用数据方式的全面架构升级。该公司表示,EDC使组织能够在本地、云端和混...

对Java学习的10条建议(对java课程的建议)

不少Java的初学者一开始都是信心满满准备迎接挑战,但是经过一段时间的学习之后,多少都会碰到各种挫败,以下北风网就总结一些对于初学者非常有用的建议,希望能够给他们解决现实中的问题。Java编程的准备:...

SQLShift 重大更新:Oracle→PostgreSQL 存储过程转换功能上线!

官网:https://sqlshift.cn/6月,SQLShift迎来重大版本更新!作为国内首个支持Oracle->OceanBase存储过程智能转换的工具,SQLShift在过去一...

JDK21有没有什么稳定、简单又强势的特性?

佳未阿里云开发者2025年03月05日08:30浙江阿里妹导读这篇文章主要介绍了Java虚拟线程的发展及其在AJDK中的实现和优化。阅前声明:本文介绍的内容基于AJDK21.0.5[1]以及以上...

「松勤软件测试」网站总出现404 bug?总结8个原因,不信解决不了

在进行网站测试的时候,有没有碰到过网站崩溃,打不开,出现404错误等各种现象,如果你碰到了,那么恭喜你,你的网站出问题了,是什么原因导致网站出问题呢,根据松勤软件测试的总结如下:01数据库中的表空间不...

Java面试题及答案最全总结(2025版)

大家好,我是Java面试陪考员最近很多小伙伴在忙着找工作,给大家整理了一份非常全面的Java面试题及答案。涉及的内容非常全面,包含:Spring、MySQL、JVM、Redis、Linux、Sprin...

数据库日常运维工作内容(数据库日常运维 工作内容)

#数据库日常运维工作包括哪些内容?#数据库日常运维工作是一个涵盖多个层面的综合性任务,以下是详细的分类和内容说明:一、数据库运维核心工作监控与告警性能监控:实时监控CPU、内存、I/O、连接数、锁等待...

分布式之系统底层原理(上)(底层分布式技术)

作者:allanpan,腾讯IEG高级后台工程师导言分布式事务是分布式系统必不可少的组成部分,基本上只要实现一个分布式系统就逃不开对分布式事务的支持。本文从分布式事务这个概念切入,尝试对分布式事务...

oracle 死锁了怎么办?kill 进程 直接上干货

1、查看死锁是否存在selectusername,lockwait,status,machine,programfromv$sessionwheresidin(selectsession...

SpringBoot 各种分页查询方式详解(全网最全)

一、分页查询基础概念与原理1.1什么是分页查询分页查询是指将大量数据分割成多个小块(页)进行展示的技术,它是现代Web应用中必不可少的功能。想象一下你去图书馆找书,如果所有书都堆在一张桌子上,你很难...

《战场兄弟》全事件攻略 一般事件合同事件红装及隐藏职业攻略

《战场兄弟》全事件攻略,一般事件合同事件红装及隐藏职业攻略。《战场兄弟》事件奖励,事件条件。《战场兄弟》是OverhypeStudios制作发行的一款由xcom和桌游为灵感来源,以中世纪、低魔奇幻为...

LoadRunner(loadrunner录制不到脚本)

一、核心组件与工作流程LoadRunner性能测试工具-并发测试-正版软件下载-使用教程-价格-官方代理商的架构围绕三大核心组件构建,形成完整测试闭环:VirtualUserGenerator(...

Redis数据类型介绍(redis 数据类型)

介绍Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sortedset:有序集合)。1、字符串类型概述1.1、数据类型Redis支持...

RMAN备份监控及优化总结(rman备份原理)

今天主要介绍一下如何对RMAN备份监控及优化,这里就不讲rman备份的一些原理了,仅供参考。一、监控RMAN备份1、确定备份源与备份设备的最大速度从磁盘读的速度和磁带写的带度、备份的速度不可能超出这两...

取消回复欢迎 发表评论: