简介
redis作为应用与数据库的中间缓存,用户访问数据源会首先访问redis,查询无数据则直接查询数据库,查询到后,返回的数据会加载到redis里面。在使用的过程中,redis在并发场景,存在缓存穿透,缓存击穿和缓存雪崩等问题。
缓存穿透
问题
当访问key不存在时候,请求会一直打在数据库上,增加了数据库的压力。
解决策略
一 可以先缓存空值key
二 过滤不正常请求
缓存击穿
问题
当key过期后,大量请求直接压在数据库上,可能导致数据库崩溃
解决策略
一 预加载热门的key
二 适当延长key的时间
三 设置锁(效率低)
缓存雪崩
问题
缓存的key大量过期,可能导致数据缓存更新失效
解决策略
一 将key失效的时间分散开
二 使用锁或者队列
三 定时更新key
标签:场景,策略,访问,数据库,redis,并发,缓存,key From: https://blog.51cto.com/u_15063934/6032812