首页
/ Node Redis 5.0.0-next.7 版本发布:新增哈希字段过期功能与搜索方言改进

Node Redis 5.0.0-next.7 版本发布:新增哈希字段过期功能与搜索方言改进

2025-06-02 11:18:47作者:仰钰奇

项目简介

Node Redis 是 Node.js 生态中最流行的 Redis 客户端库之一,提供了与 Redis 数据库交互的完整功能支持。作为 Redis 官方推荐的 Node.js 客户端,它以其高性能、稳定性和丰富的功能集著称。

版本概述

Node Redis 5.0.0-next.7 是一个预发布版本,开发者应避免在生产环境中使用。本次更新主要带来了哈希字段过期功能支持、Azure Entra ID 身份验证集成,以及对搜索模块的多项改进。

核心新特性

1. 哈希字段过期命令支持

Redis 5.0.0-next.7 新增了对 HGETEX、HSETEX 和 HGETDEL 命令的支持,这些命令允许为哈希表中的单个字段设置过期时间:

  • HSETEX:设置哈希字段值并指定过期时间
  • HGETEX:获取哈希字段值并可选地更新其过期时间
  • HGETDEL:获取哈希字段值后立即删除该字段

这些命令特别适用于需要精细控制缓存生命周期的场景,相比对整个键设置过期时间,提供了更细粒度的控制能力。

2. Azure Entra ID 身份验证集成

新版本增加了对 Azure 身份验证的支持,开发者现在可以使用 Azure Entra ID(原 Azure Active Directory)进行身份验证。这一改进使得在 Azure 云环境中部署的应用能够更安全、更方便地连接到 Redis 服务。

搜索模块改进

1. 搜索方言默认值变更

本次更新引入了一个重要的行为变更:客户端现在会默认将搜索和聚合命令(如 FT.SEARCH 和 FT.AGGREGATE)的方言版本设置为 2。这意味着所有搜索查询会自动附加 DIALECT 2 参数。

影响说明

  • 查询方言版本会影响搜索结果的返回方式
  • 如果需要使用其他方言版本,可以显式指定 DIALECT 参数
// 使用方言版本1执行搜索
client.ft.search('index', '*', {DIALECT: 1})

2. 字段类型扩展支持

FT.CREATE 命令现在支持更多的字段类型,包括新增的 integer8 和 uinteger8 类型,为数值型数据提供了更广泛的存储选择。

重大变更

1. 移除图模块

Graph 模块已从客户端中移除,这是为了与 Redis 服务器端的模块化策略保持一致。开发者如果需要图数据库功能,需要考虑其他解决方案。

2. FT.PROFILE 响应类型变更

FT.PROFILE 命令现在返回原始未类型化的响应,这给了开发者更大的灵活性,但也需要自行处理响应数据的解析工作。

开发者建议

  1. 预发布版本谨慎使用:这是一个 alpha/pre-release 版本,不推荐用于生产环境
  2. 方言变更测试:如果应用依赖特定的搜索行为,应测试方言版本变更的影响
  3. 哈希字段过期评估:评估新哈希命令是否能优化现有缓存策略
  4. Azure 身份验证迁移:计划从传统认证方式迁移到 Azure Entra ID

总结

Node Redis 5.0.0-next.7 版本在数据存储精细控制、云原生认证和搜索功能方面都有显著提升。虽然包含一些破坏性变更,但这些改进为应用开发带来了更多可能性。开发者应充分测试新特性,为正式版本的升级做好准备。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
27
11
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
466
3.47 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
10
1
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
19
flutter_flutterflutter_flutter
暂无简介
Dart
715
172
giteagitea
喝着茶写代码!最易用的自托管一站式代码托管平台,包含Git托管,代码审查,团队协作,软件包和CI/CD。
Go
23
0
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
203
81
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.26 K
695
rainbondrainbond
无需学习 Kubernetes 的容器平台,在 Kubernetes 上构建、部署、组装和管理应用,无需 K8s 专业知识,全流程图形化管理
Go
15
1
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
1