概述
缓存穿透就是一个 key 在所有缓存中都不存在,并且在 mysql 中也不存在,叫做缓存穿透。
在这样的场景下,由于不存在的 key,导致大量不存在的 key 穿透到 mysql,很有可能引起 mysql 挂掉。
缓存穿透
缓存穿透解决方案
缓存穿透解决方案:每次从源服务(商品服务)查询到的数据为空,就说明这个数据根本就不存在,需要往 redis 和 ehcache 等缓存中写入一条空数据。
另外再配合缓存变更监听推送事件,能让缓存中的空商品信息及时变更。
缓存穿透就是一个 key 在所有缓存中都不存在,并且在 mysql 中也不存在,叫做缓存穿透。
在这样的场景下,由于不存在的 key,导致大量不存在的 key 穿透到 mysql,很有可能引起 mysql 挂掉。
缓存穿透解决方案:每次从源服务(商品服务)查询到的数据为空,就说明这个数据根本就不存在,需要往 redis 和 ehcache 等缓存中写入一条空数据。
另外再配合缓存变更监听推送事件,能让缓存中的空商品信息及时变更。