Redis总结:
本文为查阅与总结,如有侵权请告知,即刻删除!
概念:Redis是一款内存高速缓存数据库
为什么使用Redis:所有的请求直接访问数据库,会给数据库造成过大的压力,会产生一些问题。Redis起到一个缓冲的作用,类似频繁使用且结果并不怎么频繁变化的sql,我们可以存放到Redis缓存中来减少数据库的压力
缺点:缓存和数据库双写一致性问题/缓存雪崩问题/击穿问题/穿透问题/缓存的并发竞争问题
单线程的Redis为什么快:纯内存操作/单线程操作,避免频繁的上下文切换/采用了非阻塞式I /O
Redis缓存的雪崩问题:Redis是k-v结构,大量的key消失,又有请求,就会造成缓存的雪崩
设置超时时间采用随机算法,保证同一时间不会有大量的数据消失/使用集群缓存,保证缓存的高可用
Redis缓存的击穿问题:Redis的某个热点数据消失,又有大量请求访问这个key,就会穿透
设置多级缓存/热点数据的超时时间设置的长些
Redis缓存的穿透问题:查询数据库中不存在的数据
限制IP访问、限流、缓存空值、布隆过滤器
缓存和数据库双写一致性问题:强一致性的数据不能放缓存