redis面试重点------源于黑马

redis面试重点------源于黑马_第1张图片
redis面试重点------源于黑马_第2张图片
缓存问题三兄弟 是因为不同的原因让请求全部打到了数据库而造成的问题

什么是缓存穿透?

缓存穿透是指查询一个数据,在redis和MySQL中都不存在。也就是查询一个数据不存在的数据,导致每次请求都会到达数据库,给数据造成很大的压力。
解决方案:
1.当查询一个不存在的数据时缓存一个空数据,这样请求就只会查一次库,把流量转移到了redis中
优点:实现起来,简单方便
缺点:消耗内存,可能会造成数据短期不一致,缓存承受压力增加
2.布隆过滤器
redis面试重点------源于黑马_第3张图片
redis面试重点------源于黑马_第4张图片
什么是缓存击穿?
缓存击穿:某个热点key过期了,数据同步慢,导致请求全部到达数据库
解决方案
1.互斥锁
2.逻辑过期
redis面试重点------源于黑马_第5张图片

什么是缓存雪崩?

缓存雪崩是在某一时间段大量的key同时过期,导致请求全部到达数据库
解决方案
redis面试重点------源于黑马_第6张图片

redis和MySQL的数据同步问题,如何进行同步?

redis面试重点------源于黑马_第7张图片

如果是强一致性(CP):双写一致性(修改了数据库就修改缓存),存入redis的数据肯定是读多写少的,在数据修改时,使用读写锁是一个不错的选择。
特点:强一致,低性能,代码侵入性太高
redis面试重点------源于黑马_第8张图片
redis面试重点------源于黑马_第9张图片

如果是可用性(AP):mq(绝大数的数据同步,AP实现都可以用mq,允许短期数据不一致,达到最终一致性即可),canal
redis面试重点------源于黑马_第10张图片

redis面试重点------源于黑马_第11张图片

你可能感兴趣的:(面试,redis)