美文网首页互联网科技java高级开发群程序员
Redis 5.0 正式发布!一网打尽所有新特性!

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

作者: Java技术剑 | 来源:发表于2018-10-19 14:57 被阅读310次

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

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

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

    相关文章

      网友评论

      • 05bd09920618:据说还有一个类似kafka的东东,是不是可以用于消息列队了

      本文标题:Redis 5.0 正式发布!一网打尽所有新特性!

      本文链接:https://www.haomeiwen.com/subject/mxnyzftx.html