10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

Pogocache:开源缓存软件实现低延迟并支持多传输协议

  • 2025-09-08
    北京
  • 本文字数:1280 字

    阅读完需:约 4 分钟

大小:590.77K时长:03:21
Pogocache:开源缓存软件实现低延迟并支持多传输协议

全新开源缓存软件 Pogocache 近日发布 1.0 正式版,主打低延迟与 CPU 高效能特性。该软件支持多种主流通信协议,并宣称相比其他开源缓存方案具有更高吞吐量和更低延迟。

 

Pogocache 由地理空间数据库与地理围栏服务器 Tile38 的创建者 Josh Baker 主导开发(他同时也是 TG 地理空间库的作者)。该软件采用 C 语言编写,以服务器形式运行,支持 Memcache、Valkey/Redis、HTTP 及 PostgreSQL 传输协议,用户可直接使用 curl、psql 等系统工具或第三方客户端库进行交互。据作者介绍,Pogocache 是针对极低资源竞争和优良内存局部性优化的高速缓存方案。Baker 特别强调:

Pogocache 性能全面超越 Memcache、Valkey、Redis、Dragonfly 和 Garnet。不仅具备最低的单请求延迟,能提供最快速响应,还经过专项优化可实现从单核到多核的线性扩展,同时提供最佳的单线程与多线程性能。

As with most caching solutions, the target use cases include session storage, database query caching, real-time data feeds, and API acceleration.


Pogocache 在 AWS c8g.8xlarge 实例上运行 8 线程时的性能对比。数据来源:Pogocache GitHub 仓库

 

该项目包含设计的细节部分,重点介绍了受作者自己的 shardmap 项目启发的分片哈希映射架构,以及线程处理方面的重大改进。Pogocache 将条目(键值对)存储在高扇出分片哈希映射中,通常采用 4096 个分片。分片数量在启动时自动配置,也支持用户自定义,每个分片都拥有独立的哈希映射结构,该结构采用开放寻址法与罗宾汉哈希算法。

 

Baker 对此的补充说明为:

除了以服务器形式运行外,自包含的 pogocache.c 文件可直接编译嵌入现有软件,绕过网络层通过编程方式直接访问缓存。嵌入式运行可提供原始性能优势,每秒操作次数超过一亿次。

 

Pogocache 在启动时根据机器核心数确定程序生命周期内使用的线程数量。Lanyrd 联合创始人、Django Web 框架共同创建者 Simon Willison 评论道:

除了性能,Pogocache 最有趣的是其服务器接口设计:它同时模拟了 Redis 和 Memcached 的 API、提供了简易的 HTTP 接口,甚至还能通过 PostgreSQL 传输协议进行通信!

 

Hacker News上,多数的反馈持肯定态度,部分用户要求提供更多设计细节来佐证其性能宣称。根据官方文档,该软件支持协议自动检测而无需管理多个端口。

psql -h localhost -p 9401=> SET first Tom;=> SET last Anderson;=> SET age 37;

$ curl http://localhost:9401/lastAnderson
复制代码

来源:Simon Willison 的 Weblog

 

软件工程师 Cezar Henrique da Costa e Souza 在其博客中提醒道:

虽然初始版本的性能表现令人振奋,但 Pogocache 真正的考验还在后头。这些基准测试能否经受住不同生产环境下严格独立的验证?开发者社区多久才会将其接纳并为项目作出贡献?

 

根据规划,Pogocache 将构建面向 Web、SQL、提示词和地理空间的领域特定集成,增加通过共享内存和 IPC 的直接访问功能,并提供分布式路由与故障转移等企业级工具。

 

最新发布的 1.1 版本新增了过期键自动后台清理功能。该软件采用 AGPLv3 开源协议发布。


原文链接:

https://www.infoq.com/news/2025/08/pogocache-caching/

2025-09-08 15:451

评论

发布
暂无评论
Pogocache:开源缓存软件实现低延迟并支持多传输协议_软件工程_Renato Losio_InfoQ精选文章