在版本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 Nees的Schotter这样的计算机艺术的随机变体。花费一些不产生技术价值的时间来探索60年代的某些事物,LOLWUT就诞生于这样的需求。在那个年代,作者认为更容易“用黑客视角谈论技术,没有障碍或者预先思索过的想法,极限就是探索”。

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

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

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

  1. 百度如流新版发布,“流式办公”跳出在线办公模式“围城”

    文|陈选滨 来源|智能相对论(aixdlun) 当前,办公模式正在面临着重构. 正如BondCapital合伙人MaryMeeker所总结的,"实际上,这开启了一场大规模的试验,可能会改变员 ...

  2. jQuery 3.3.1已经发布,开发团队正在准备4.0版本

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ jQuery 3.3.1已经发布,其中包含了许多新特性也提出要移除几个之前的特性,移除一些特 ...

  3. 分布式流式计算框架Storm

    Storm用于实时处理,就好比 Hadoop 用于批处理.         --> 离线计算:批量获取数据,批量传输数据,周期性比量计算数据,数据展示(Sqoop-->HDFS--> ...

  4. 第三方库之响应式功能的bootstrap3.4版本学习小结

    文章目录 简介 响应式原理 栅格系统 栅格系统 混合排列或者组合模式 对齐 列排序 列偏移 间距 嵌套 content 重置 排版 代码 图片 utilities flex utilities els ...

  5. Spark 2.4重磅发布:优化深度学习框架集成,提供更灵活的流式接收器

    Apache Spark 2.4.0是2.x系列中的第五个版本.此版本增加了屏障执行模式,以便更好地与深度学习框架集成:引入30多个更高阶的内置函数,能够更轻松地处理复杂数据类型:优化K8s集成,同时 ...

  6. 高性能分布式缓存Redis(缓存分类 安装 数据类型选择和应用场景 发布订阅 事务 Lua脚本 慢查询日志)

    高性能分布式缓存Redis 高性能分布式缓存Redis 1. 缓存发展史&缓存分类 1.1 大型网站中缓存的使用 1.2 常见缓存的分类 1.3 分布式缓存选型方案对比 2. Redis概述& ...

  7. Data Artisans发布支持ACID事务的流式处理框架Streaming Ledger

    data Artisans宣布推出Streaming Ledger,它扩展了Apache Flink,提供了跨表.键和事件流执行可序列化ACID事务的功能.这项正在申请专利的技术是Flink的专有附加 ...

  8. OpenKruise v0.5.0 版本发布,支持无损的流式分批发布策略

    作者 | 酒祝  阿里云技术专家 导读:OpenKruise 是阿里云开源的大规模应用自动化管理引擎,在功能上对标了 Kubernetes 原生的 Deployment/StatefulSet 等控制 ...

  9. 阿里云发布首个流式存储与播放解决方案

    本文讲的是阿里云发布首个流式存储与播放解决方案[IT168资讯]9月11日,首个面向视频监控行业的流式存储与播放一体化方案在阿里云官网上线.借助这份技术方案,摄像头接入云端的时间将从一两个月缩短到一周 ...

最新文章

  1. C语言——冒泡法排序应用
  2. 手机基站定位(安卓手机定位源码)
  3. php 如何 闭源,Linux_Debian如何安装闭源软件包有哪些方法,  在系统操作中,闭源软件 - phpStudy...
  4. 交换机开发(四)—— ARP 基础知识解析
  5. JQuery1.11版本对prop和attr接口的含义分离导致问题分析
  6. 使用akka框架编写RPC框架
  7. Redis 和 Memcached的对比
  8. [网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
  9. 2021新书—《Python机器学习算法与实战》
  10. Android广告平台
  11. SQL数据库移植到ARM板步骤
  12. linux上的录屏软件下载,linux-推荐两款好用的录屏软件
  13. 基于Java实现的Android拼图游戏设计
  14. 【思维导图】她提出了“计算思维”,并解释我们为什么要学会跟机器对话 | 造访·周以真【整理自公众号:造就】
  15. CentOS7上安装Snipe-IT4.6.3详细过程及注意事项
  16. 职业规划-Web前端开发工程师
  17. 案例 | 从RISC到 x86,飞机维修业翘楚Ameco 转型记
  18. 微软搜索服务器,微软 Win10 搜索 UI 界面测试天气磁贴
  19. 使用Python编写机器学习入门教程
  20. android ftp客户端

热门文章

  1. 2014025679 《嵌入式系统程序设计》第五周学习总结
  2. vagrant box php开发环境配置 -- 重新打包发布vagrant box
  3. JS中的call和apply
  4. oracle错误:ORA-12545
  5. 突破phpMyAdmin 改密码后无法登陆的解决方法
  6. jenkins+jmeter+ant+jmeter在Jenkins上报告
  7. final finally finalize 的区别
  8. 【EF】EF扩展库(批量操作)
  9. 获取某一目录之下所有文件的大小
  10. eclipse for C/C++