缓存穿透

cache_penetration2026-10-16 18:03:59

缓存穿透通常指不存在或无法被正常缓存的请求反复越过缓存,持续消耗后端数据源资源。

形成原因

请求无效 ID、随机键或长期不存在的数据时,如果每次未命中都查询数据库而不记录结果,缓存无法分担这部分访问。

处理选择

实践中可先验证输入、短期缓存明确的空结果,或用存在性过滤器排除必然不存在的键。空值需要区别于系统错误,并设置失效策略,避免新建数据后仍被旧空值屏蔽。

概率过滤器可能误报存在,不能代替真实查询、身份认证或权限判断。是否引入过滤器应基于请求分布和维护成本,而非所有服务都默认增加一层。

参考资料

本页目录