
Linux 基金会宣布 Valkey 9.0 正式发布,这是一款作为 Redis 接班者而发展的开源内存存储方案。最新的大版本带来了原子级槽位迁移、哈希字段过期,以及在集群模式下对编号数据库的完整支持,使其可扩展到 2000 个节点,并实现每秒超 10 亿次请求的处理能力。
Valkey 9.0 在 Valkey 8.0 发布一周年后推出。本次版本新增的原子槽位迁移(atomic slot migration) 改进了集群的数据再均衡方式。此前的逐步迁移模式可能在传输过程中改变槽位归属,而新版的原子迁移方式则确保了键路由的一致性与可预测的交接,从而减少过渡性错误并简化在线重分片。
Momento 联合创始人兼 CEO Khawaja Shams 与 Momento 生态工程师、AWS Hero Allen Helton 写道:
对于在集群环境中运行 Valkey 的团队而言,这从根本上改变了容量规划和运维风险管理方式。扩容将变得可预测,而不再是痛苦的过程。
亚马逊云科技高级开发者布道师、Valkey 开源负责人 Kyle Davis 进一步解释:
在 Valkey 中,所有键会被映射为 16,384 个槽位之一,每个节点负责一个或多个槽位。在 Valkey 9.0 中,迁移不再是按键迁移,而是一次迁移整个槽位,并通过 AOF 格式进行原子移动。
另一个重要功能是哈希字段过期(hash field expiration)。此前,Valkey 的哈希结构只能整体过期,若需字段级过期,用户只能拆分为多个键。9.0 允许哈希中的每个字段独立过期。AWS 高级软件工程师 Ran Shidlansik 在另一篇文章中解释了其实现方式,并说明 Valkey 采用主动过期机制清理已过期的哈希字段。Shidlansik 总结道:
基准测试表明,字段级过期可以在不牺牲内存效率或延迟的情况下加入 Valkey。额外内存开销保持可控,指令吞吐未受影响,而共享的主动过期任务在高写入压力下仍能高效回收内存。
编号数据库(numbered databases) 长期用于隔离数据、防止键冲突,但在 Redis 以及之前的 Valkey 版本中,集群模式只能使用单一数据库。Valkey 9.0 取消了这一限制,引入了对编号数据库的完整集群支持,使多数据库的可扩展部署成为可能。Davis 将编号数据库视为一种命名空间机制,并说明其主要用途:
最直接的使用场景是需要逻辑上隔离数据,同时能够接受资源共享带来的影响。例如,将不同客户的数据分隔开,或在资源不成问题的情况下整合多个应用到同一个集群中。
项目社区近期讨论了 Valkey 9.0 的架构改进,展示了其在大型集群中的增强韧性,使系统能够扩展至 2000 个节点并实现每秒超 10 亿次请求的处理能力。Shams 与 Helton 指出:
9.0 的性能提升来自对现代 CPU 能力的智能利用。Valkey 9.0 能在现代硬件上发挥更高效的表现,与之前版本相比有显著优势(……)最终带来更低的尾延迟、更高的单节点吞吐量,以及可量化的成本效率。
Valkey 由亚马逊云科技、Oracle、谷歌云等企业支持,遵循 BSD 三条款许可。 Valkey 9.0 现已开放下载。
原文链接:
https://www.infoq.com/news/2025/11/valkey-9-atomic-migration/







评论