用户想要查询一个数据,发现 Redis 数据库没有,也就是缓存没有命中,于是向持久层数据库查询,发现也没有,于是本次查询失败。数据预热的含义就是,在正式部署之前,先把可能访问的数据预先访问一遍,这样部分可能大两房问的数据就会先加载到缓存中。那么到一点的时候,这批商品的缓存都到期了,这时候对这批商品的查询,都落到了数据库上。布隆过滤器是一种数据结构,对所有可能查询的参数以 Hash 形式存储,在控制层先进行校验,不符合要求的就丢弃,从而避免了对底层存储系统的压力。这种方式将高并发的压力转移到了分布式锁。