皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Redis 发布带有“流式”数据类型的 5.0 版本

作者 Alex Giamas

在版本 4 发布的 15 个月之后,Redis 最近宣布了其流行数据库的第 5 个版本。这个版本的主要特性是对一种新数据类型“流”的支持。流是一种仅能追加的数据结构,可以在相同消费者组内被多个协作的客户端用作日志处理。流就基于 Rax 实现的,它是个基数树库。

流支持快速查找和范围查询,这些是构建聊天系统、消息代理、排队系统和可以从 统一日志 模式 受益的大多数系统。流在概念上类似于 Apache Kafka 中支持消费者组的消息传递机制,但本质上又很独特。流还支持消息持久化及主/副本复制功能。这个数据类型在版本 4 中 规划 ,现在在版本 5 中已经可以使用,并为其提供了详尽的 文档

Redis 5 对排序集做了优化,并提供了新的命令来从排序集的起点和终点弹出元素。ZPOPMAX 或 BZPOPMAX 命令会分别以非阻塞和阻塞模式返回和移除最高分数元素。类似地,ZPOPMIN 或 BZPOPMIN 命令会返回和移除最低分数元素。开发者可以使用排序集的这些命令来模拟列表功能。

在最新版本中,通过引入集群(Clusters)和定时器(Timers)API,Redis 模块也得到了扩展。 定时器 API 允许模块创建毫秒精度的定时器以及一个回调函数。集群 API(不要与 Redis 的服务器集群混淆)提供了一种抽象来实现集群化的消息总线。这样,一个节点就可以以类似于发布/订阅系统的方式来向某个特定节点或所有节点发送消息了。

这次版本发布还在背后做了一些性能方面的提升,比如改进的内存热点碎片整理以及改进的 HyperLogLog 算法 。大多数命令现在都支持在客户端使用“<command_name> HELP”快速查看命令行帮助信息,比如,XINFO HELP 可以查看新的流功能方面的帮助信息。

新版本中还加入了 LOLWUT 命令,对 Redis 用户来说,这个命令更像是一个复活节彩蛋,技术上倒用处不大,因为 LOLWUT 会产生 Georg NeesSchotter 这样的计算机艺术的随机变体。花费一些不产生技术价值的时间来探索 60 年代的某些事物,LOLWUT 就诞生于这样的需求。在那个年代,作者认为更容易“用黑客视角谈论技术,没有障碍或者预先思索过的想法,极限就是探索 ”。

除了需要向后兼容的场景,最新的 Redis 版本终于不再使用“从”(slave)这个术语了,而改为使用“副本”(replica)。

查看英文原文https://www.infoq.com/news/2018/10/Redis-5-Released

转自 http://www.infoq.com/cn/news/2018/11/Redis-5-Released

 

分享到:更多 ()