Redis缓存穿透

1. 简介

一般是黑客故意去请求缓存中不存在的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉

2. 解决办法

方案1:布隆过滤器

将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被 这个bitmap拦截掉。从而避免了对底层存储系统的查询压力

方案2:返回数据为空也缓存

如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过5分钟

results matching ""

    No results matching ""