Repolode
OpenAtomFoundation

OpenAtomFoundation/pikiwidb

兼容 Redis 协议、以 RocksDB 为存储引擎的持久化 KV 数据库,适合超出内存容量的大数据量场景。

可替代:Redis

Star
6,136
Fork
1,170
未关闭 Issue
89
最近提交
22天前

这是什么?

PikiwiDB(Pika)是一个兼容 Redis 协议的 KV 存储系统,支持 string、hash、list、zset、set、geo、hyperloglog、pubsub、bitmap、stream 等常用数据结构。它以 RocksDB 持久化全部数据,并缓存热数据,因此容量受磁盘限制,而不是受内存限制。

它面向 Redis 内存成本高或单线程处理成为瓶颈的场景。部署上可以采用一主多从的 slaveof 模式,支持全量与增量同步;也可以搭配 Codis 集群,通过增减分组实现弹性伸缩。仓库中提供从 Redis 迁移数据的工具。

项目支持在 CentOS、Ubuntu 和 macOS 上使用 C++17 源码编译,并提供官方 Docker 镜像。监控指标可通过配套的 exporter 输出。

核心功能

  • 01兼容 Redis 协议及常用数据结构
  • 02使用 RocksDB 持久化数据并缓存热数据
  • 03支持主从复制,包含全量与增量同步
  • 04可通过 Codis 集群增减分组实现弹性扩缩容
  • 05提供 Docker 镜像和 Linux、macOS 编译脚本

适用场景

  • 存放超出 Redis 内存容量的大规模数据
  • 降低大规模 KV 业务的内存硬件成本
  • 在不修改应用代码的前提下,将现有 Redis 迁移到基于磁盘的存储

快速上手

  1. 1

    克隆源代码

    git clone https://github.com/OpenAtomFoundation/pikiwidb.git
  2. 2

    使用构建脚本编译

    ./build.sh
  3. 3

    使用示例配置启动 PikiwiDB

    ./output/pika -c ./conf/pika.conf

使用前须知

  • 从源码编译需要支持 C++17 的 gcc/g++ 9 或更高版本,以及 cmake 3.18 或更高版本。
  • README 列出的支持平台仅有 CentOS、Ubuntu 和 macOS。

标签

#redis#key-value-store#rocksdb#nosql#database-cluster#persistent-storage#nosql-data-storage#nosql-databases#pikiwidb#redis-interfaces

常见问题

pikiwidb 是什么?
兼容 Redis 协议、以 RocksDB 为存储引擎的持久化 KV 数据库,适合超出内存容量的大数据量场景。 PikiwiDB(Pika)是一个兼容 Redis 协议的 KV 存储系统,支持 string、hash、list、zset、set、geo、hyperloglog、pubsub、bitmap、stream 等常用数据结构。它以 RocksDB 持久化全部数据,并缓存热数据,因此容量受磁盘限制,而不是受内存限制。
pikiwidb 可以免费使用吗?用的什么许可证?
pikiwidb 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
pikiwidb 还在维护吗?
活跃维护中。pikiwidb 最近一次提交是在 2026年10月16日。
pikiwidb 适合用来做什么?
存放超出 Redis 内存容量的大规模数据 降低大规模 KV 业务的内存硬件成本 在不修改应用代码的前提下,将现有 Redis 迁移到基于磁盘的存储
pikiwidb 怎么安装和运行?
克隆源代码: git clone https://github.com/OpenAtomFoundation/pikiwidb.git 使用构建脚本编译: ./build.sh 使用示例配置启动 PikiwiDB: ./output/pika -c ./conf/pika.conf
在哪里获取 pikiwidb?
源代码和安装说明在 GitHub 上:https://github.com/OpenAtomFoundation/pikiwidb

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目