2 个版本
0.1.1 | 2024年1月3日 |
---|---|
0.1.0 | 2023年12月19日 |
#130 in 缓存
240KB
4.5K SLoC
Segcache 是一种缓存存储引擎,为 Web 缓存工作负载提供高内存效率、高吞吐量和出色的可扩展性。
该设计针对主要访问小对象并使用 TTL(生存时间)的工作负载进行了优化。这些工作负载,代表了社交媒体网站的大部分,以及一般 Web 工作负载的良好部分,由于其对象尺寸小和短暂性,历史上付出了显著的内存开销。在 Twitter 的案例中,这是该设计最初与卡内基梅隆大学合作开发的,缓存内存占用减少了多达 60%。在保持与同类最佳替代方案(如 Memcached 中的 slab 内存分配器及其在 Memcached 和 Twemcache 中的亲缘关系)相当或更好的吞吐量的同时实现了这一点。与 Memcached 相比,Segcache 还提供了更好的(写)可扩展性。
该设计最初在 NSDI’21 大会论文中发表,标题为“Pelikan Segcache:一种针对小对象的内存高效和可扩展的内存键值缓存”。它获得了 NSDI 社区奖,并且论文中使用的代码已于 2021 年 4 月合并到 Pelikan 代码库。更详细的信息可以在博客文章中找到。
依赖关系
~4–11MB
~111K SLoC