内存数据存储,可用作缓存、数据结构服务器、文档数据库、向量数据库和消息代理。
- Star
- 2,524
- Fork
- 76
- 未关闭 Issue
- 18
- 最近提交
- 3个月前
这是什么?
Pogocache 是一个面向低延迟和低 CPU 开销的缓存服务。它同时支持 Memcache、Valkey/Redis(RESP)、HTTP 和 Postgres 协议,因此 curl、redis-cli、psql 以及常见的客户端库无需修改即可直接连接。
它也可以以嵌入方式使用:独立的 pogocache.c 文件可直接编译进 C 程序,应用通过函数调用访问缓存,不经过网络。服务端功能包括独立端口的 TLS、密码认证、可配置的内存上限与淘汰策略、可选的文件持久化,以及带分片锁的哈希表。
项目面向 64 位 Linux 和 macOS,使用 C 语言实现。仓库中的基准测试对比了它与 Redis、Valkey、Dragonfly、Garnet 和 Memcache 在同一 AWS 实例上的表现,结果来自作者自己的测试环境。
核心功能
- 01同一服务端同时接受 Memcache、RESP(Valkey/Redis)、HTTP 和 Postgres 协议。
- 02可将单个 C 文件编译进程序,实现进程内缓存。
- 03支持 TLS、密码认证,以及可配置的最大内存与淘汰策略。
- 04提供可选的文件持久化和基于 TTL 的过期机制。
- 05采用分片哈希表与分片自旋锁,网络层基于 epoll 或 kqueue。
适用场景
- 在对延迟敏感的服务中替换 Redis 或 Memcache,无需修改客户端代码。
- 在 C 或 C++ 应用内直接嵌入高速键值缓存。
- 开发调试时用 curl 或 psql 快速读写缓存值。
快速上手
- 1
从源代码构建 pogocache 程序
make - 2
在本地 9401 端口启动服务器
./pogocache - 3
使用 curl 存取一个值进行测试
curl -X PUT -d "my value" http://localhost:9401/mykey
使用前须知
- 仅在 64 位 Linux 和 macOS 上设计和测试。
- README 未说明 Windows 支持情况。
标签
常见问题
- pogocache 是什么?
- 用 C 语言编写的低延迟缓存服务,兼容 Memcache、Redis/Valkey、HTTP 和 Postgres 协议,也可作为单个 C 文件嵌入项目。 Pogocache 是一个面向低延迟和低 CPU 开销的缓存服务。它同时支持 Memcache、Valkey/Redis(RESP)、HTTP 和 Postgres 协议,因此 curl、redis-cli、psql 以及常见的客户端库无需修改即可直接连接。
- pogocache 可以免费使用吗?用的什么许可证?
- pogocache 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- pogocache 还在维护吗?
- 半年内有更新。pogocache 最近一次提交是在 2026年8月5日。
- pogocache 适合用来做什么?
- 在对延迟敏感的服务中替换 Redis 或 Memcache,无需修改客户端代码。 在 C 或 C++ 应用内直接嵌入高速键值缓存。 开发调试时用 curl 或 psql 快速读写缓存值。
- pogocache 怎么安装和运行?
- 从源代码构建 pogocache 程序: make 在本地 9401 端口启动服务器: ./pogocache 使用 curl 存取一个值进行测试: curl -X PUT -d "my value" http://localhost:9401/mykey
- 在哪里获取 pogocache?
- 源代码和安装说明在 GitHub 上:https://github.com/tidwall/pogocache
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
7.7万2.5万COther更新于 昨天
与 Redis 和 Memcached API 兼容的内存数据存储,可直接替换两者使用。
3.2万1283C++Other更新于 昨天
面向分布式系统关键数据的可靠分布式键值存储,基于 Raft 共识算法与 gRPC 接口。
5.2万1.1万GoApache-2.0更新于 前天
一款基于稀疏矩阵存储邻接关系、支持 OpenCypher 查询的图数据库,面向 LLM 知识图谱与 GraphRAG 场景。
1万584RustOther更新于 14小时前
用 Rust 编写的多线程内存键值数据库,兼容 Redis 与 Valkey 协议,内置全文与向量搜索。
2726RustAGPL-3.0更新于 3天前
面向 Web 应用的异步状态管理与数据获取库,支持 React、Vue、Svelte 和 Solid。
5万4222TypeScriptMIT更新于 7小时前