准备:IntelliJ IDEA java
撰写时间:2021年 5 月 22 日
最近在学习缓存处理,怕忘记所以就决定记录一下
前台请求的数据先从缓存中获取,如果缓存中没有再从数据库获取,然后将获到的数据在前台显示出来。下面做了个简易流程图,便于理解缓存流程。
缓存问题有:缓存穿透、缓存击穿、缓存雪崩,下面将会分别举例说明和解决相对应的问题。
缓存穿透是指缓存和数据库中都没有数据,而用户不断发起请求,如发起为id 为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据 库压力过大。
图解:
缓存穿透例子:
@Autowired
private RedisTemplate redisTemplate;
public Integer fin