Google Cloud 宣布 Memorystore for Valkey 9.1 正式商用(GA)。据 Google Cloud 介绍,与 Memorystore for Redis Cluster 相比,新版本在微秒级延迟下可实现最高 3 倍的每秒查询数(QPS)提升。
Valkey 项目起源于 2024 年 Redis Inc. 将许可协议从 BSD 转为双重许可模式后,由 Linux 基金会治理的开源分支。此次 9.1 版本在线程通信机制、开发者命令和安全控制上进行了更新。
线程通信与动态扩缩重构
Valkey 9.1 将原有的静态轮询 I/O 线程分配替换为无锁多队列消息架构,以消除跨线程 CPU 浪费并支持动态工作平衡。该架构包含三类队列:
- 主线程到 I/O 线程队列:采用单生产者多消费者(SPMC)队列分发读写任务,空闲工作线程按需拉取任务,实现动态工作窃取,防止线程饥饿或热点集中。
- I/O 线程到主线程队列:工作线程将已完成任务推入多生产者单消费者(MPSC)队列,主线程可直接弹出完成的工作,无需忙等待列表迭代。
- I/O 线程专属队列:专用单生产者单消费者(SPSC)队列处理线程亲和内存清理和高吞吐量 epoll 卸载。
在扩缩容方面,9.1 版本用两阶段动态扩展引擎替代了静态线程阈值。当主线程 CPU 使用率超过 30% 时,引擎自动激活首个后台 I/O 线程;启动后,系统根据 SPMC 队列积压情况实时增减活跃 I/O 工作线程数量,确保额外核心仅在需要时使用,空闲时挂起。
新增开发者能力与安全控制
数据库级访问控制(ACL)
此前 ACL 规则在整个实例范围内全局生效。Valkey 9.1 允许管理员在 ACL 框架内将用户访问权限限制在特定编号的数据库级别。例如,可将生产、预发和开发用户的访问分别隔离至 db=0、db=1 和 db=2,无需对键名添加前缀即可实现多租户隔离。结合 Memorystore 已有的 IAM 集成,该功能支持集中管理(单一策略映射多个集群)、版本化策略修订和审计日志。
CLUSTERSCAN 命令
过去在大型集群中扫描键需逐节点查询,无法感知拓扑变化或故障转移,可能导致漏键、重复或中断。CLUSTERSCAN 引入了拓扑感知游标,编码当前槽位、本地哈希表指纹和本地游标信息,使客户端能够在整个集群范围内扫描键并处理重定向。
该命令支持两种扫描策略:
- 顺序全集群扫描(单工作进程):适用于简单脚本或后台任务,客户端从游标 0 开始顺序遍历所有槽位,返回游标为 "0" 时表示完成。
- 并行集群扫描(多工作进程):适用于高吞吐场景,通过 SLOT 参数将 16,384 个槽位分配给多个并行工作进程独立扫描。
原子性与过期控制命令
- HGETDEL:在单次网络往返中原子性地读取哈希字段值并删除该字段,适用于一次性令牌消费或短期会话状态处理。
- MSETEX:同时设置多个键并赋予统一过期时间,消除多命令管道开销。
- HSETEX 增强:新增 NX(仅字段不存在时设置)和 XX(仅字段存在时设置)条件标志。
基于 9.0 版本的节点规格与 AI 模块
Valkey 9.1 建立在 Google Cloud Next '26 发布的 9.0 版本基础之上。9.0 版本已引入原生 JSON 支持和布隆过滤器模块,并新增了六项节点规格:
- 轻量级节点:Custom-Pico(1.25 GB)、Custom-Micro(2.5 GB)、Custom-Mini(3.5 GB),仅适用于禁用集群模式的环境。
- 高 CPU 与大规格节点:HighCPU-Medium(8 vCPU/13 GB)和 Standard-Large(8 vCPU/26 GB)。
- 超大规格节点:Highmem-XXLarge(每节点 110 GB 内存、16 vCPU)。
迁移工作流与客户反馈
Google Cloud 同步推出了向完全托管版 Memorystore for Valkey 的迁移工作流,涵盖配置目标实例、建立双同步在线复制、实时监控数据对齐以及切换应用连接端点四个步骤。
据 Google Cloud 披露,排名前 100 的客户中已有超过 95% 使用 Memorystore 支撑高吞吐工作负载。美国职业棒球大联盟(MLB)软件工程高级副总裁 Rob Engel 表示,其依赖 Memorystore for Valkey 应对比赛日不可预测的流量峰值,并期待 9.1 版本的引擎优化带来更高处理能力。Target 高级工程经理 Scott Weide 和 Sumanth Huddar 则表示,该服务为其个性化平台提供了超低延迟缓存,计划利用 9.1 版本的性能增强进一步提升高峰期的响应速度与弹性。
上述性能数据基于开源基准测试得出,Google Cloud 提示实际性能提升因具体工作负载而异。

