缓存击穿
缓存击穿是一种redis的常见问题,它指的是当缓存数据快过期时,由于没有足够的缓存时间来处理请求,导致系统会频繁地请求数据库,从而造成数据库压力增大。解决方法是设置热点数据永远不过期,并添加互斥锁,保证同一时刻只有一个线程可以访问数据库。另外,如果查询返回的数据为空,可以将其作为一个空值,并将其插入到一个空指针变量中,从而避免将空值作为数据插入到数据库中。
缓存雪崩
缓存雪崩是指缓存中数据大量到过期时间,导致请求全部去到数据库,造成数据库压力倍增的情况。解决方法是实现缓存高可用,通过redis cluster将热点数据均匀分布在不同的Redis库中,避免全部失效的问题。同时,在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。
标签:缓存,击穿,数据库,redis,线程,雪崩 From: https://www.cnblogs.com/yongheng999/p/17966450