缓存穿透通常指不存在或无法被正常缓存的请求反复越过缓存,持续消耗后端数据源资源。 形成原因 请求无效 ID、随机键或长期不存在的数据时,如果每次未命中都查询数据库而不记录结果,缓存无法分担这部分访问。 处理选择 实践中可先验证输入、短期缓存明确的空结果,或用存在性过滤器排除必然不存在的键。空值需要区别于系统错误,并设置失效策略,避免新建数据后仍被旧空值屏蔽。 概率过滤器可能误报存在,不能代替真实查询、身份认证或权限判断。是否引入过滤器应基于请求分布和维护成本,而非所有服务都默认增加一层。 参考资料 Amazon 缓存挑战与策略