写点什么

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

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

    阅读完需:约 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。不仅具备最低的单请求延迟,能提供最快速响应,还经过专项优化可实现从单核到多核的线性扩展,同时提供最佳的单线程与多线程性能。


与大多数缓存解决方案类似,Pogocache 的主要应用场景包括会话存储、数据库查询缓存、实时数据流以及 API 加速等。


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:454134

评论

发布
暂无评论

2022年中国全民健身发展白皮书

易观分析

行业分析 健身

企业“数字化转型”成功的2个必备条件!

优秀

数字化转型

开源一夏 | RuntimeException 子类

六月的雨在InfoQ

开源 8月月更

如何让您的wiki内容更高级?

Geek_da0866

写给 Java 程序员的前端 Promise 教程

CRMEB

用完华为云会议解决方案,我直接卸载了之前的会议软件【华为云至简致远】

科技云未来

云会议产品

永续合约交易所系统开发逻辑详情

开发微hkkf5566

Go-Excelize API源码阅读(四)——Save()

Regan Yue

Go 开源 源码刨析 8月日更 8月月更

APICloud AVM 封装日期和时间选择组件

YonBuilder低代码开发平台

安卓 低代码开发 多端开发

mysql进阶(二十九)常用函数汇总

No Silver Bullet

MySQL mysql常用函数 8月月更

EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球

EMQ映云科技

开源 物联网 IoT emq 8月月更

基于华为云弹性云服务器ECS(搭载openEuler的鲲鹏通用计算增强型)完成鲲鹏代码迁移工具实践【华为云至简致远】

科技云未来

鲲鹏服务器 弹性云服务器ESC

LeaRun模型驱动开发框架 重塑企业生产力

力软低代码开发平台

深度解读 | 关于SBOM最基础元素,你需要知道的(Part I)

安势信息

开源 漏洞 SCA SBOM 最基础元素

Java泛型的继承场景

Geek_163f36

基于ECS实现一分钟自动化部署【华为云至简致远】

科技云未来

自动化部署

Grid 布局介绍

CRMEB

基于华为云ModelArts的水表读数识别开发实践【华为云至简致远】

科技云未来

水表读数识别项目

国内部分手机游戏开始显示用户IP属地

郑州埃文科技

游戏 手游 IP归属地

调研阶段复盘

Geek_XOXO

复盘

如何用精益敏捷组合管理,提升研发效能?|ONES 研发管理大师课

万事ONES

科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来

科创人

2022纯手工打造1700道Java高级工程师面试宝典(含面试题解析)

Java工程师

Java 面试 八股文

急了,Mysql索引中最不容易记的三个知识点通透了

知识浅谈

8月月更

运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践

刘悦的技术博客

Python 协程 Async Python3 协程原理

Netty入门 -- 什么是Netty?

Bug终结者

Netty 8月月更

它们不一样!透析【观察者模式】和【发布订阅模式】

掘金安东尼

前端 设计模式 8月月更

Qt下异步使用C++调用Python文件

Geek_163f36

Taro小程序跨端开发入门实战

京东科技开发者

小程序 taro 开发 移动端

QCon 回顾 | Data Fabric:逻辑统一、物理分散

网易数帆

大数据 数据湖 降本增效 Data Fabric

以数治企,韧性成长,2022 年中国 CIO 数字峰会成功举行

金蝶云·苍穹

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