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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

在这里插入图片描述
在这里插入图片描述
缓存问题三兄弟 是因为不同的原因让请求全部打到了数据库而造成的问题

什么是缓存穿透

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

什么是缓存雪崩

缓存雪崩是在某一时间段大量的key同时过期导致请求全部到达数据库
解决方案
在这里插入图片描述

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

在这里插入图片描述

如果是强一致性CP双写一致性修改了数据库就修改缓存存入redis的数据肯定是读多写少的在数据修改时使用读写锁是一个不错的选择。
特点强一致低性能代码侵入性太高
在这里插入图片描述
在这里插入图片描述

如果是可用性(AP)mq绝大数的数据同步AP实现都可以用mq允许短期数据不一致达到最终一致性即可canal
在这里插入图片描述

在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: redis