与 Redis 和 Memcached API 兼容的内存数据存储,可直接替换两者使用。
- Star
- 4,491
- Fork
- 690
- 未关闭 Issue
- 291
- 最近提交
- 昨天
这是什么?
Apache Kvrocks 是一个以 RocksDB 为存储引擎的分布式键值 NoSQL 数据库,兼容 Redis 协议,应用可以直接使用任意 Redis 客户端访问。与把数据全部放在内存中的 Redis 相比,它的目标是降低内存成本并提升存储容量。
Kvrocks 提供命名空间(namespace)功能,每个命名空间使用独立的令牌进行隔离,而不是共用一个全局密码。主从复制采用类似 MySQL 的异步 binlog 方式,并支持通过 Redis Sentinel 在主节点或从节点故障时完成切换。集群采用集中式管理,同时仍可使用标准 Redis 集群客户端访问。
服务端支持 Linux 与 macOS,架构涵盖 x86_64、ARM 和 RISC-V,可选择通过 OpenSSL 启用 TLS。配套工具可用于集群管理、监控指标导出,以及与 Redis 之间的数据迁移。
核心功能
- 01兼容 Redis 协议,标准 Redis 客户端无需修改即可使用。
- 02命名空间配合独立令牌实现数据隔离。
- 03基于 binlog 的异步主从复制。
- 04支持 Redis Sentinel 实现故障切换。
- 05集中式集群模式,可通过 Redis 集群客户端访问。
- 06可选通过 OpenSSL 启用 TLS。
适用场景
- 存储数据量大、全部放入 Redis 内存成本过高的场景。
- 在保留现有 Redis 客户端的前提下,希望降低内存成本的 Redis 替代方案。
- 需要基于令牌隔离数据的多租户共享服务。
快速上手
- 1
克隆代码仓库
git clone https://github.com/apache/kvrocks.git - 2
进入项目目录
cd kvrocks - 3
编译 Kvrocks
./x.py build - 4
使用配置文件运行 Kvrocks
./build/kvrocks -c kvrocks.conf
使用前须知
- 仅支持 Linux 和 macOS。
- 从源码构建需要安装多个系统软件包和 C++ 工具链。
收录于专题
标签
常见问题
- kvrocks 是什么?
- 基于 RocksDB 存储、兼容 Redis 协议的分布式 NoSQL 键值数据库,旨在降低内存成本并提升容量。 Apache Kvrocks 是一个以 RocksDB 为存储引擎的分布式键值 NoSQL 数据库,兼容 Redis 协议,应用可以直接使用任意 Redis 客户端访问。与把数据全部放在内存中的 Redis 相比,它的目标是降低内存成本并提升存储容量。
- kvrocks 可以免费使用吗?用的什么许可证?
- kvrocks 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- kvrocks 还在维护吗?
- 活跃维护中。kvrocks 最近一次提交是在 2026年11月6日。
- kvrocks 适合用来做什么?
- 存储数据量大、全部放入 Redis 内存成本过高的场景。 在保留现有 Redis 客户端的前提下,希望降低内存成本的 Redis 替代方案。 需要基于令牌隔离数据的多租户共享服务。
- kvrocks 怎么安装和运行?
- 克隆代码仓库: git clone https://github.com/apache/kvrocks.git 进入项目目录: cd kvrocks 编译 Kvrocks: ./x.py build 使用配置文件运行 Kvrocks: ./build/kvrocks -c kvrocks.conf
- 在哪里获取 kvrocks?
- 源代码和安装说明在 GitHub 上:https://github.com/apache/kvrocks
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.2万+12 本周1294C++Other维护活跃更新于 21小时前
从 Redis 分支而来的高性能键值数据结构服务器,适用于缓存与实时负载场景。
2.8万+70 本周1518CBSD-3-Clause更新于 19小时前
兼容 Redis 协议、以 RocksDB 为存储引擎的持久化 KV 数据库,适合超出内存容量的大数据量场景。
61361170C++BSD-3-Clause更新于 22天前
支持多线程、兼容 Redis 协议的内存数据库,可直接替换 Redis 使用。
1.2万679C++BSD-3-Clause更新于 16天前
无主节点的分布式 SQLite 复制服务器,任意节点可写入,兼容 MySQL 协议。
2826+4 本周80GoMIT维护活跃更新于 上个月
一个用 C# 编写的远程缓存存储,兼容 Redis RESP 协议,现有 Redis 客户端无需修改即可连接。
1.2万+11 本周722C#MIT更新于 昨天