无论您是长期的 Redis 开发人员还是刚刚起步,Redis Stack 都代表了我们必须提供的最新创新。
2022年12月7 日,Redis 很高兴地宣布推出最新版本的Redis Stack。
Redis Stack 使用数据处理引擎(例如查询和搜索)和现代数据模型(例如文档 JSON、时间序列和图形)扩展了 Redis Open Source (OSS)。这种结合使开发人员能够构建开发愉快且易于维护和支持的实时应用程序。
这个最新版本的 Redis Stack 提供了开发人员要求的许多引人注目的功能。以下是亮点:
- 实时查询和搜索:对嵌套 JSON 文档中的值列表进行索引和查询的多值支持。我们添加了对后缀和中缀通配符搜索的支持。此外,JSON 的查询和搜索功能现在可以通过 Redis Enterprise 以主动-主动地理分布式方式部署,在处理嵌套数据 时具有本地读写延迟。
- t -digest:一种新的概率数据结构,用于估计流数据中的分位数。
- Graph:新的可调整路径查找算法和语言结构让您更轻松地操作节点上的标签并更好地支持资源管理用例。此外,还有 20 多个新函数涉及类型转换、三角函数和对数函数。
- 时间序列:增强的压缩和聚合功能显着减少了查询时间序列数据所需的客户端逻辑。
- 开发人员工具:RedisInsight更新了新的诊断工具,包括内存使用、数据分布、慢速日志分析和对编码数据的支持(例如 protobuff、php unserialize 和 Java 序列化对象),所有这些都加快了开发周期。
所有这些 Redis Stack 功能也可在 Redis Enterprise Cloud 和 Redis Enterprise Software 上使用。
需要更多信息?以下是有关增强功能的一些其他详细信息。
实时查询和搜索
Redis Stack 允许您对驻留在 Redis 哈希或嵌套JSON文档中的数据进行索引、查询和执行全文搜索。这个最新版本添加了几个经常要求的改进,使开发人员可以在搜索查询中使用中缀和后缀通配符,例如 `* ` 和 ` `。vatoreant?rez
开发人员可以创建多值索引和查询属性,而不管类型(TEXT、TAG、NUMERIC、GEO和VECTOR),由通向数组或多个标量值的JSONPath定义。以前,您只能索引标量属性。
例如,假设以下文档代表一辆自行车:
{
…
"color": "silver",
…
"components": [
{ "name": "seatpost", "color": "blue" },
…
]
}现在,使用一个 JSONPath ` $..color`,您可以索引文档中的所有颜色字段,而不管它们在文档中的位置。(请参阅RedisSearch 发行说明:https://github.com/RediSearch/RediSearch/releases/tag/v2.6.3)
我们还通过改进的性能和错误修复更新了 JSONPath 解析器。
t-文摘
Redis Stack 包含一组有用的概率数据结构。概率数据结构允许开发人员控制返回结果的准确性,同时提高性能并减少内存。这些数据结构非常适合分析流数据和大型数据集。
在这个最新版本中,Redis Stack 现在包含一个新的概率数据结构t-digest,用于根据数据流或大型浮点值数据集估计分位数。您可以使用它来回答以下问题:
- 数据流中有多少值小于给定值?
- 哪个值小于数据流中值的p %?(也就是说,p -percentile 值是多少?)
- p1百分位值和p2百分位值之间的平均值是多少?
- 数据流中第n个最小/最大值的值是多少?([reverse] rank n的值是多少)?
- unladen swallow的空速是多少?好吧,也许不是那个。
图和时间序列
Redis Stack 还为时间序列数据和高度连接的数据(图形)提供了专用的数据结构,每个数据结构都有自己强大的查询引擎。
许多用户将我们的图形功能用于资源、身份和访问管理用例。将数据建模为图表可以帮助您确保正确的实体在正确的时间正确访问正确的资源,其中实体和资源都可以是层次结构组的成员。
这个最新的 Redis Stack 版本进一步增强了这种体验。我们添加了新的路径算法来寻找最小权重,可选地受给定节点对之间或从给定节点开始的成本或长度路径的限制。我们还添加了用于添加和删除节点标签、更改节点属性和边属性以及删除路径的语言结构。我们有 29 个新函数,涵盖类型转换、三角函数和对数函数。最后,所有写查询现在都以原子方式执行。(原子性是保证每个查询要么成功要么失败而没有副作用。每当发生失败时,查询效果都会从撤消日志中回滚。)
在我们时间序列功能的进步方面,我们添加了检索最新(仍然打开的)压缩桶的聚合结果的能力。我们引入了一个新的聚合器:时间加权平均值,用于在连续信号的样本以非恒定间隔可用时更准确地估计随时间变化的平均值。新的间隙填充功能允许为空桶插入或重复最后一个值。此外,您现在可以控制桶时间戳的报告方式(桶的开始时间、中间时间或结束时间)以及压缩规则的对齐控制。还引入了一组新的减速器。
开发者工具
RedisInsight是 Redis 和 Redis Stack 的理想开发人员伴侣。它允许您可视化和优化 Redis 数据。RedisInsight 还可以帮助您使用指导教程了解我们推出的最新创新。
最新的RedisInsight增强了诊断能力。数据库分析功能可帮助您优化性能和内存使用。它显示数据类型分布、内存分配以及顶级键和命名空间,分别按消耗的内存或键长度和键数排序。新的慢速日志工具可以更轻松地解决性能问题。您还可以借助新添加的格式化程序(JSON、HEX、MessagePack、ASCII 等)验证您的数据。
开始使用 Redis Stack
Redis Stack 的最新版本有两个版本:Redis Stack 6.2.6,构建于 Redis 6.2 之上;Redis Stack 7.0.6是一个候选版本,构建于 Redis 7.0 之上。
您可以选择以下方式之一来安装和开始使用 Redis Stack:
- 从redis.io下载 Redis Stack(https://redis.io/download)
- 使用您最喜欢的包管理器或启动Redis Stack 泊坞窗图像
- 在 Redis Enterprise Cloud 上创建一个免费的数据库,其中包含 Redis Stack 的所有最新功能
新的 Redis Stack 功能今天也可在 Redis Enterprise Cloud 和 Redis Enterprise Software 上使用。
一旦启动并运行 Redis Stack Server,您就可以立即利用 RedisInsight 来可视化、分析和优化您的 Redis 数据。
选择您选择的语言的客户端库,并查阅我们的 .NET、Node.js、Python 和 Spring教程以开始编码。
Redis Stack 的下一步是什么?
在下一个 Redis Stack 版本中,我们计划为触发函数引入额外的机制。具体来说,我们计划包括一个嵌入式 JavaScript 引擎。用 JavaScript 编写的函数可以由到达流中的事件触发,与创建/更新/删除操作同步,或者可以在给定时间安排。这将允许您结合 Redis Stack 功能(例如查询和搜索)在数据库中执行业务逻辑。通过在服务器端操作数据,触发功能可以显着降低更新延迟并减少陈旧数据。
下一个 Redis Stack 版本计划于 2023 年春季发布,但您现在可以预览其可编程性功能。在我们的扩展 Redis 中的数据库触发器功能(https://redis.com/blog/database-trigger-features/) 博客文章中,我们展示了如何编写对 Redis 中的数据更改做出反应的函数。
注意:为了向 Redis 社区提供更多的自由和清晰度,Redis Stack 现在根据新的双重许可证提供:新版本的 Redis 源可用许可证 ( RSALv2 ) 和服务器端公共许可证 ( SSPLv1 )。
原文标题:New Redis Stack Is Stuffed With Dozens of New Features
原文作者:Pieter Cailliau
原文链接:https://redis.com/blog/introducing-redis-stack-6-2-6-and-7-0-6/




