您现在的位置是:首页 > 文章详情

Redis 5.0 正式发布!一网打尽所有新特性!

日期:2018-10-18点击:331

作为一统缓存江山的redis,正式发布了5.0稳定版(stable),激不激动,开不开森?Github链接:https://github.com/antirez/redis/releases/tag/5.0.0 ,让我们一起看看它带来了哪些振奋人心的新特性:

img_69250e146d143b3fb205689d61685966.jpe

官方列举特性如下:

img_7277addaf419931b0f787b90a8b064fa.jpe

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过滤器是一种概率性的数据结构,在快速判断某些元素是否被包含在一个集合这方便表现的非常好。

欢迎工作一到五年的Java工程师朋友们加入Java填坑之路:860113481

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

原文链接:https://yq.aliyun.com/articles/659316
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章