Redis的完全开源的替代方案Valkey

Valkey 是由 Linux 基金会发起的一个开源、高性能的键值存储系统,它是 Redis® 的一个完全开源的替代方案


1. 为什么会出现 Valkey?

由于 Redis 在 2024 年初宣布更改其开源协议(从宽松的 BSD 协议改为更具限制性的 SSPLv1 和 RSALv2),引发了社区的连锁反应。

为了保持核心技术的真正开源社区驱动,亚马逊 (AWS)、谷歌 (Google Cloud)、甲骨文 (Oracle)、爱立信等科技巨头联合 Linux 基金会,基于 Redis 最后一个开源版本(7.2.4)创建了分支,并将其命名为 Valkey


2. Valkey 的核心特性

Valkey 延续了 Redis 的强大功能,并在社区的推动下进行性能优化:

  • 高性能内存存储: 采用内存驻留数据集,提供极低的延迟(亚毫秒级)和极高的吞吐量。
  • 丰富的数据结构: 支持字符串(Strings)、列表(Lists)、集合(Sets)、有序集合(Sorted Sets)、哈希(Hashes)、位图(Bitmaps)、地理空间索引(Geospatial indices)和流(Streams)。
  • 全兼容性: Valkey 旨在成为 Redis 的“掉入式(Drop-in)”替代品。它支持现有的 Redis 协议(RESP)、API 以及各种客户端库。
  • 高可用与扩展性: 支持主从复制(Replication)、哨兵模式(Sentinel)和集群模式(Cluster),能够横向扩展到数千个节点。
  • 多线程增强: Valkey 正在进一步优化多线程架构,以更好地利用现代多核 CPU。

3. Valkey vs. Redis

特性 Valkey Redis (新版)
开源协议 BSD 3-Clause (完全开源,商业友好) SSPLv1 / RSALv2 (非传统开源)
治理模式 社区驱动 (Linux 基金会) 公司驱动 (Redis Inc.)
生态兼容 完全兼容 Redis 7.2 协议 原生协议
未来方向 侧重于性能优化和社区贡献 侧重于集成更多企业级专有功能

4. 为什么要选择 Valkey?

  1. 无许可风险: 对于企业用户,BSD 协议意味着你可以自由地集成、修改和分发,而不用担心复杂的授权法律风险。
  2. 云厂商支持: 由于各大云服务商(如 AWS Elasticache, Google Memorystore)都已宣布支持 Valkey,未来在云端迁移和部署会非常顺滑。
  3. 活跃的生命力: 大量原 Redis 的核心贡献者已经转移到了 Valkey 项目中,技术迭代保持着极高的速度。

5. 如何迁移?

由于 Valkey 保持了协议级兼容,迁移通常非常简单:

  • 客户端: 现有的 Redis 客户端(如 Jedis, redis-py, go-redis)可以直接连接 Valkey。
  • 命令: valkey-cli 的用法与 redis-cli 几乎完全一致。
  • 数据: Valkey 可以读取 Redis 的 .rdb.aof 文件。