singleflight
已收录文章:45篇
-
使用 errgroup.WithContext 同时启动多个下游任务,并在任一任务失败时取消其它任务。273 收藏
-
通过有界 channel、select 和 context,把压力显式传回生产端。183 收藏
-
理解 Allow、Wait、Reserve 和 Burst 的区别,给接口加上可解释的限流策略。181 收藏
-
在 database/sql 中使用 QueryContext、ExecContext 和事务 context。175 收藏
-
根据读写频率、临界区大小和语义选择同步工具。173 收藏
-
给非核心依赖设计 fallback,让主流程在部分失败时仍可返回。167 收藏
-
一、什么是缓存击穿 当一个key是热点key时,一般会做缓存来抗大量并发,但当缓存失效的一瞬间,这些大量的并发请求会击穿缓存,直接请求数据库 为了避免缓存击穿,一种解决方法可以设置119 收藏
-
本文用商品详情接口讲清 Go singleflight 的用法:缓存未命中时把同一个 key 的并发请求合并成一次查询,回填缓存后共享结果,并补上超时和兜底处理。114 收藏
-
Golang · Go教程 | 1星期前 | golang · 缓存 · singleflight · go · 高并发 · 后端开发 · Go 并发控制 缓存失效 请求合并 singleflight 回源一个热门缓存键刚失效时,几百个请求可能同时回源,把数据库或下游接口推到峰值。Go 的 golang.org/x/sync/singleflight 能让同一个 key 的重叠调用只保留一趟加载,其余调用等待并复用结果。这里用一个商品读取场景说明放置位置、key 范围、多实例边界、错误传播和上线核对项。109 收藏