Redis 5.0 正式发布!一网打尽所有新特性!
作为一统缓存江山的redis,正式发布了5.0稳定版(stable),激不激动,开不开森?Github链接:https://github.com/antirez/redis/releases/tag/5.0.0 ,让我们一起看看它带来了哪些振奋人心的新特性:
官方列举特性如下:
Redis开源社区版新特性
下面我们对一些重要特性进行更深入的了解。
Streams
全新的数据类型:Streams。官方把这个当做是最重要的改进(The most important user facing improvement is without doubts the introduction
of the new general purpose data type after years: the streams.
)。而且官方提到在发版本的几个小时前还在修复streams的问题,所以官方也不敢保证release版本是否有一些比较严重的BUG(T T),官方还是建议大家在生产环境不要使用streams,这样可能会有更好的体验,扎心了(People not using the streams can have probably a better production-ready
experience with Redis 5)。
笔者接下来还会单独撰文剖析Streams,敬请关注。
cluster manager with c
redis终于还是抛弃了ruby,维护过redis3.x和redis4.x的都知道,主要依赖redis-trib.rb脚本,redis5.0彻底抛弃了它,将集群管理功能全部集成到完全用C写的redis-cli中。可以通过命令redis-cli --cluster help查看帮助信息。
LOLWUT
redis5.0新增的一个命令,官方对它的描述是:a piece of art inside a database command,翻译过来可以数据库命令中的一件艺术品(老外真幽默)。
这个方法源码注释如下:
This file implements the LOLWUT command. The command should do something
fun and interesting, and should be replaced by a new implementation at each new version of Redis。源码链接:https://github.com/antirez/redis/blob/5.0.0/src/lolwut5.c,有兴趣的同学可以看看redis作者在5.0版本中实现了些什么好玩的东西。
有兴趣的同学还可以延伸阅读:http://antirez.com/news/123
Lua改进
lua脚本能更好的传播到replicas/AOF。replicas也就是以前的slave,大家都知道redis的slave事件前段时间闹的沸沸扬扬,现在redis官方都改称replicas了,并且申明除非为了API向后兼容,否则不再使用slave这个词(We no longer use the "slave" word if not for API backward compatibility.)。
lua脚本现在还能支持超时,并且可以在replica中进入BUSY状态。
动态HZ
以前redis版本的hz都是固定的,5.0将hz动态化是为了平衡空闲CPU的使用率和响应能力。
其他一些比如HyperLogLog实现改进,RDB文件新增存储LFU和LRU信息,sorted set新增两个命令ZPOPMIN/MAX,Jemalloc升级到5.1等特性就不一一解读了。
Redis Enterprise Software新特性
Redis开源许可从AGPL 迁移到将 Apache v2.0 与 Commons Clause 相结合的许可证,下面介绍的这些特性不再是开源软件,而是源码可用(source available)。
备注:Commons Clause 的初衷是为了抵御一些不良行为。如那些使用源代码,却不对开源代码维护做出补偿的公司。” ---- Commons Clause 开发者兼 FOSSA 创始人 Kevin Wang。
support docker
现在官方版本正式支持在Docker容器上部署和运行Redis集群了。有了官方的镜像,你能非常容易并快速部署几个容器来运行一个可扩展的,高可用的Redis集群。想要了解更多请戳链接:https://redislabs.com/redis-enterprise-documentation/getting-started/docker/。
Redis Labs’ Modules
Redis Labs开发了3个模块,并且被Redis企业软件(简称RS)认证,这些模块是:
RediSearch:这个模块将RS变成了一个基于内存的分布式全文索引和搜索引擎,感觉好牛逼的样子(ES表示不服)。
ReJSON:通过模块名称就知道,JSON作为Redis的内置数据类型。
ReBloom: RS具有可扩展的Bloom过滤器,并且是一个数据类型。Bloom过滤器是一种概率性的数据结构,在快速判断某些元素是否被包含在一个集合这方便表现的非常好。
- Redis 5.0 正式发布!一网打尽所有新特性!
- Redis 5.0 正式发布!一网打尽所有新特性!
- (一)Unity5.0新特性------转载自官方-unity5.0正式发布了,看看带来哪些重要的新特性!
- unity5.0正式发布了,看看带来哪些重要的新特性!
- ExtJS 5.0正式发布,ExtJS 5.0新特性
- iOS 11 将于9月19日正式发布,一文带你了解它的那些特性
- Node.js v8.0.0正式发布!看看带来了哪些主要新特性
- Silverlight5正式候选版发布附下载地址(Silverlight 5.0 RC)
- 终于,Spring 5.0正式发布了!
- Silverlight5正式发布新特性
- xmake v2.1.5版本正式发布,大量新特性更新
- 蓝牙5.0发布(新特性速览)
- NetBeans 6.0正式发布,众多特性前所未有 (451个读者)
- Silverlight5正式候选版发布附下载地址(Silverlight 5.0 RC)
- Laravel 5.0 发布 新版本特性详解
- Silverlight5正式发布新特性
- 快讯:蓝牙5.0发布(新特性速览)
- EnCase V7 正式发布 - 新特性
- 苹果iOS 6.1完美越狱正式发布,支持iOS 6.0-6.1所有版本
- Java 9 正式发布,新特性研究