Redis借鉴了Linux操作系统对于版本号的命名规则:

版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2),

当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本,所以我们在生产环境通常选取偶数版本的Redis。

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)重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点。

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

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地址。

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日正式发布,相比于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命令性能提升。

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

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

可能出乎很多的意料,Redis3.2之后的版本是4.0,而不是3.4、3.6、3.8。

一般这种重大版本号的升级也意味着软件或者工具本身发生了重大改革。下面是Redis4.0的新特性:

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

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

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

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

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

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

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

8)Redis Cluster 兼容NAT和Docker

Redis重大版本的更多相关文章

  1. Redis 历史版本下载URL

    Redis 历史版本下载URL: http://download.redis.io/releases/ Redis和RedisClient 官网下载方式: https://blog.51cto.com ...

  2. Redis单机版本的安装

    我的是centos-6.5的环境,安装redis的单机版本 1.下载redis源文件redis-3.0.0.tar.gz到一个目录,我的下载目录是/software 2.编译安装源文件的先觉条件是安装 ...

  3. 在虚拟机上安装redis集群,redis使用版本为4.0.5,本机通过命令客户端可以连接访问,外部主机一直访问不了

    在虚拟机上安装了redis 4 ,启动后本机客户端可以连接访问,但是外部主机一直访问不了,在使用java代码连接redis集群时报:no reachable node in cluster,原因:在r ...

  4. Django项目中关于redis包版本的坑

    1.环境 python:3.6 django:1.11.8 redis:3.2.1 2.遇到的问题 报错:redis.exceptions.DataError: Invalid input of ty ...

  5. Redis 单机版本安装

    亲装! 1.linux 系统镜像 redis 版本  使用redis-3.2.8.tar.gz(截止2017年4月的最新稳定版) 在安装之前先安装下redis 需要的环境 wget http://do ...

  6. Redis windows版本的启停bat脚本命令

    Reids windows版本安装 redis windows官网推荐:https://github.com/MicrosoftArchive/redis/releases 下载解压即可. 启停bat ...

  7. Redis windows版本资源与安装

    这里提供一个windows版本的Redis百度云资源 链接: https://pan.baidu.com/s/19JY_d_J87n98OeAHK9qI4A 密码: d6dq 1,GitHub下载地址 ...

  8. redis windows版本的使用

    ServiceStack的redis-windows下载 下载新的版本解压到硬盘,使用黑窗口切换到路径后执行 redis-server redis.windows.conf 即可看到redis启动到6 ...

  9. Redis第一篇(Redis单机版本安装及启动)

    安装: 1 2 3 4 5 [root@M2_Redis1 ~]# yum install gcc gcc-c++     (安装依赖) [root@M2_Redis1 tools]# wget ht ...

随机推荐

  1. python练习实例1--------给定数字组成三位数

    题目:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 来看第一种解法 num = [1, 2, 3, 4] """ 根据题中'互不相同' ...

  2. spring boot2 整合(一)Mybatis (特别完整!)

    大概介绍下流程: 借助idea实现mybatis逆向工程 用xml配置实现整合 用cmd命令行实现mybatis逆向工程 用mapping.xml配置实现数据交互 用注解的方式实现数据交互 首先我的开 ...

  3. Ubuntu中创建、删除、更改、移动文件的命令

    1.创建一个目录 $ sudo mkdir <目录名>   2.删除一个非空目录下的一切 $ sudo rm -rf <目录名>   3.将文件file1,更改文件名为file ...

  4. table的复制 SqlServer 数据库添加临时表(select 字段1,字段2,字段3 into)

    select  字段1,字段2,字段3 into tempname  form  table  where table.id=1; oralce : insert into MID_DRUG_DETA ...

  5. steps/train_sat.sh

    <<LDA_MLLT_fMLLR三音素HMM的训练流程图.vsdx>>    

  6. Hbase思维导图之逻辑结构

  7. 分页插件通用处理,以asp.net mvc为例

    Model: public class PaggerModel { public PaggerModel() { BarSize = ; } public PaggerModel(int total, ...

  8. Leetcode#771.Jewels and Stones(宝石与石头)

    题目描述 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头. S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石. J 中的字母不重复,J 和 S中的所有字 ...

  9. Python 关于在ubuntu部署Django项目

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  10. Codeforces Round #545 (Div. 2)(B. Circus)

    题目链接:http://codeforces.com/contest/1138/problem/B 题目大意:贼绕口的题目,就是给你两个字符串s1,s2,然后每一个人代表一列,第一列代表技能一每个人是 ...