与 Redis 和 Memcached API 兼容的内存数据存储,可直接替换两者使用。
- Star
- 12,498
- Fork
- 679
- 未关闭 Issue
- 295
- 最近提交
- 16天前
这是什么?
KeyDB 是 Redis 的高性能分支,重点在多线程、内存效率和吞吐量。它完整兼容 Redis 协议、模块和脚本,现有 Redis 部署可以直接替换,无需修改客户端或应用代码。
在 Redis 功能之上,KeyDB 增加了双活复制(active-active replication),多个实例可同时读写并保持同步,便于基于 TCP 的负载均衡和热备切换。它还支持基于本地 SSD 的 FLASH 存储、子键过期,以及可选的 S3 备份与加载。其 MVCC 架构使 KEYS、SCAN 等命令不会阻塞数据库。
目前项目在 Linux 上编译和测试。线程数、客户端均衡等行为可通过 server-threads 等配置项调整,默认构建启用 TLS。
核心功能
- 01多线程处理请求,兼容 Redis 协议、模块和脚本。
- 02双活复制,多个实例可同时接受读写并保持同步。
- 03支持基于本地 SSD 的 FLASH 存储(实验性)。
- 04支持子键过期,KEYS 与 SCAN 基于 MVCC 执行而不阻塞数据库。
- 05可选择直接备份到 AWS S3 或从中加载数据。
适用场景
- 在不更换硬件的前提下,替换现有 Redis 部署以提升吞吐量。
- 构建需要多实例同时读写的缓存层。
- 通过单节点处理更多负载,减少服务器数量。
快速上手
- 1
在 Debian/Ubuntu 上安装构建依赖
sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev - 2
初始化并更新子模块依赖
git submodule init && git submodule update - 3
编译 KeyDB
make - 4
在 src 目录中使用默认配置启动服务器
./keydb-server
使用前须知
- 仅在 Linux 上构建和测试,因为它依赖 Linux 的 SO_REUSEPORT。
- FLASH 存储仍为实验性(beta)功能,请谨慎使用。
- 没有付费支持,帮助主要通过社区渠道获得。
收录于专题
标签
常见问题
- KeyDB 是什么?
- 支持多线程、兼容 Redis 协议的内存数据库,可直接替换 Redis 使用。 KeyDB 是 Redis 的高性能分支,重点在多线程、内存效率和吞吐量。它完整兼容 Redis 协议、模块和脚本,现有 Redis 部署可以直接替换,无需修改客户端或应用代码。
- KeyDB 可以免费使用吗?用的什么许可证?
- KeyDB 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- KeyDB 还在维护吗?
- 活跃维护中。KeyDB 最近一次提交是在 2026年10月22日。
- KeyDB 适合用来做什么?
- 在不更换硬件的前提下,替换现有 Redis 部署以提升吞吐量。 构建需要多实例同时读写的缓存层。 通过单节点处理更多负载,减少服务器数量。
- KeyDB 怎么安装和运行?
- 在 Debian/Ubuntu 上安装构建依赖: sudo apt install build-essential nasm autotools-dev autoconf libjemalloc-dev tcl tcl-dev uuid-dev libcurl4-openssl-dev libbz2-dev libzstd-dev liblz4-dev libsnappy-dev libssl-dev 初始化并更新子模块依赖: git submodule init && git submodule update 编译 KeyDB: make 在 src 目录中使用默认配置启动服务器: ./keydb-server
- 在哪里获取 KeyDB?
- 源代码和安装说明在 GitHub 上:https://github.com/Snapchat/KeyDB
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
3.2万+12 本周1294C++Other维护活跃更新于 20小时前
从 Redis 分支而来的高性能键值数据结构服务器,适用于缓存与实时负载场景。
2.8万+70 本周1518CBSD-3-Clause更新于 18小时前
一个用 C# 编写的远程缓存存储,兼容 Redis RESP 协议,现有 Redis 客户端无需修改即可连接。
1.2万+11 本周722C#MIT更新于 24小时前
用 Rust 编写的多线程内存键值数据库,兼容 Redis 与 Valkey 协议,内置全文与向量搜索。
964+58 本周99RustAGPL-3.0维护活跃更新于 18小时前
基于 RocksDB 存储、兼容 Redis 协议的分布式 NoSQL 键值数据库,旨在降低内存成本并提升容量。
4491+6 本周690C++Apache-2.0更新于 24小时前
一个 Node.js 键值存储库,支持 TTL 过期,并可通过适配器接入 Redis、MongoDB、SQLite 等多种后端。
44721JavaScriptMIT维护活跃更新于 9天前