模拟 Redis 挂了、数据刚好过期、100 个请求同时打进来,这套单元测试怎么搭
缓存层重构的关键在于用可控的 Mock Redis Client 精确模拟异常态,而非简单返回 null。通过接口化底层操作,可模拟缓存未命中、连接超时和数据过期三种场景,并利用并发原语发起 100 个请求,验证数据库仅穿透一次。测试需覆盖雪崩延迟、脏数据清理等边界情况,并集成到 CI 中,开启 race detector 以捕获竞态条件。
共 1 篇文章
缓存层重构的关键在于用可控的 Mock Redis Client 精确模拟异常态,而非简单返回 null。通过接口化底层操作,可模拟缓存未命中、连接超时和数据过期三种场景,并利用并发原语发起 100 个请求,验证数据库仅穿透一次。测试需覆盖雪崩延迟、脏数据清理等边界情况,并集成到 CI 中,开启 race detector 以捕获竞态条件。