Redis版本历史
Redis4.0
可能出乎很多人的意料,Redis3.2之后的版本是4.0,而不是3.4、3.6、3.8。一般这种重大版本号的升级也意味着软件或者工具本身发生了重大变革,直到本书截稿前,Redis发布了4.0-RC2,下面列出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。
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日正式发布,截止到本书完成已经到3.0.7版本,相比于Redis2.8主要特性如下:
Redis3.0最大的改动就是添加Redis的分布式实现Redis Cluster,填补了Redis官方没有分布式实现的空白。Redis Cluster经历了4年才正式发布也是有原因的,具体可以参考Redis Cluster的开发日志
1) Redis Cluster: Redis的官方分布式实现。
2) 全新的embedded string对象编码结果,优化小对象内存访问,在特定的工作负载下速度大幅提升。
3) lru算法大幅提升。
4) migrate连接缓存, 大幅提升键迁移的速度。
5) migrate命令两个新的参数copy和replace。
6) 新的client pause命令,在指定时间内停止处理客户端请求。
7) bitcount命令性能提升。
8) config set设置maxmemory时候可以设置不同的单位(之前只能是字节),例如config set maxmemory1gb。
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) info可以按照section输出,并且添加了一些统计项。
12) 重构了大量的核心代码,所有集群相关的代码都去掉了,cluster功能将会是3.0版本最大的亮点。
13) sort命令优化。
Redis版本历史的更多相关文章
- php版本历史
php最初就是为了快速构建一个web页面而迅速被大家广为接受的.它的好处是在代码中能内嵌html的代码,从而让程序员能再一个页面中同时写html代码和php代码就能生成一个web页面. 这篇文章用时间 ...
- Servlet与JSP版本历史以及Tomcat支持的版本
查询这个的关键字:Java EE的版本历史. JavaServer Pages (JSP) Java Servlet 参考: https://en.wikipedia.org/wiki/Java_EE ...
- Xcode各版本官方下载, Mac和IOS及Xcode版本历史
官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ Xcode 7 7.2 : ht ...
- Xcode各版本官方下载及百度云盘下载, Mac和IOS及Xcode版本历史.
官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ 百度云盘下载地址: http:/ ...
- linux服务器查看redis版本:
linux服务器查看redis版本:redis-server-v
- django 实现同一个ip十分钟内只能注册一次(redis版本)
上一篇文章,django 实现同一个ip十分钟内只能注册一次 的时候,我们在注册的时候选择使用的使我们的数据库来报错我们的注册的ip信息,可是如果数据量大,用户多的时候,单单靠我们的数据库 来储存我们 ...
- Atitit 翻页功能的解决方案与版本历史 v4 r49
Atitit 翻页功能的解决方案与版本历史 v4 r49 1. 版本历史与分支版本,项目版本记录1 1.1. 主干版本历史1 1.2. 分支版本 项目版本记录.1 2. Easyui 的翻页组件2 ...
- [IOS]Xcode各版本官方下载及百度云盘下载, Mac和IOS及Xcode版本历史
官方下载, 用开发者账户登录,建议用Safari浏览器下载. 官方下载地址: https://developer.apple.com/xcode/downloads/ 百度云盘下载地址 http:// ...
- Atitit. Atiposter 发帖机版本历史 编年史
Atitit. Atiposter 发帖机版本历史 编年史 V1 初步实现sina csdn cnblogs V2 实现qzone sohu 的发帖功能 顺便重构接口实现分离 V3多文件循环发帖 ...
随机推荐
- ajax的get方法获取豆瓣电影前10页的数据
# _*_ coding : utf-8 _*_ # @Time : 2021/11/2 11:45 # @Author : 秋泊酱 # 1页数据 电影条数20 # https://movie.dou ...
- 菜鸡的Java笔记 第五 - java 程序逻辑控制
程序主要分为三种逻辑:顺序,分支,循环. if 分支语句 if分支语句是最为基础的分支操作,但是其有三种使用形式: if语句 if.....else 语句 if....else...if...el ...
- uni-app 微信小程序全局分享
实际使用中,经常需要小程序分享到好友或者朋友圈,一般而言是一个个页面去设置. 官网分享介绍:https://uniapp.dcloud.io/api/plugins/share?id=onsharea ...
- 【BugFix】K8S节点NOT READY状态,错误信息:network plugin is not ready: cni config uninitialized
错误现象 runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: netw ...
- C/C++ Qt 选择夹TabWidget组件应用
在Qt中通过使用选择夹组件可以实现在一个页面中集成多种功能,我们以TabWidget选择夹组件为例,实现在单个页面中集成多个功能,并给每一个子夹增加对应的Ico图标. 如果我们使用选择夹组件,必须提前 ...
- java及python调用RabbitMQ
1,python调用MQ发送消息(生产者),话不多说,直接上干货 import pika 如下图 2.java调用MQ发送消息(生产者) 具体代码如下: python 的代码如下 connection ...
- Python之99乘法表代码
#coding=utf-8 #左下三角格式输出九九乘法表 for i in range(1,10): for j in range(1,i+1): print " ...
- 记一次 android 线上 oom 问题
背景 公司的主打产品是一款跨平台的 App,我的部门负责为它提供底层的 sdk 用于数据传输,我负责的是 Adnroid 端的 sdk 开发. sdk 并不直接加载在 App 主进程,而是隔离在一个单 ...
- CF1610F F. Mashtali: a Space Oddysey
我们首先发现有如下性质: 我们不妨先随机定向边,那么我们发现无论我们如何翻转边. 都会对其两端的点,造成 \(2 / 4\) 的影响,所以我们发现如果一个点其和他相连的所有边权和为偶数,则我们不能调整 ...
- Excel—分组然后取每组中对应时间列值最大的或者最小的
1.MAX(IF(A:A=D2,B:B)) 输入函数公式后,按Ctrl+Shift+Enter键使函数公式成为数组函数公式. Ctrl+Shift+Enter: 按住Ctrl键不放,继续按Shift键 ...