加载中...

groupcache 是 memcached 原作者 Brad Fitzpatrick 在 Google 期间用 Go 编写的分布式缓存库,2013 年开源,曾服务于 Google 的下载服务 dl.google.com。它不是独立服务器,而是以库形式嵌入应用进程,应用节点彼此组成缓存集群。
每个键通过一致性哈希归属某个节点:请求本地未命中时会去持有者节点取数,由持有者负责真正回源填充,并借助内置的 singleflight 机制把并发的相同请求合并为一次加载,天然消除缓存击穿与惊群;特别热的键还会被自动复制到多个节点的热点缓存中,避免单点过载。
groupcache 的取舍非常鲜明:缓存值不可变,不支持更新、删除与过期(只能靠版本化键名绕过),容量满时按 LRU 淘汰。
它示范了「嵌入式 + 请求合并 + 热点复制」的缓存范式,衍生出 mailgun/groupcache 等支持 TTL 的社区分支。

登录 后参与讨论
暂无讨论,来发表第一条评论吧