缓存击穿,缓存穿透,缓存雪崩

【强制】不允许任何魔法值(即未经预先定义的常量)直接出现在代码中。

  反例:String key = "Id#taobao_" + tradeId;         cache.put(key, value);      

// 缓存 get 时,由于在代码复制时,漏掉下划线,导致缓存击穿而出现问题

后台缓存的流程大致是,前台取数据若缓存没有则取数据库查询

缓存穿透

   缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求

缓存击穿

  缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力

缓存击穿

  缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至down机。和缓存击穿不同的是,        缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。

猜你喜欢

转载自www.cnblogs.com/xyzxy/p/12674939.html