具有营销型网站有哪些,做网站 徐州,wordpress 高清背景,公司创建网站销售缓存问题三兄弟 是因为不同的原因让请求全部打到了数据库而造成的问题
什么是缓存穿透#xff1f;
缓存穿透是指查询一个数据#xff0c;在redis和MySQL中都不存在。也就是查询一个数据不存在的数据#xff0c;导致每次请求都会到达数据库#xff0c;给数据造成很大的压力… 缓存问题三兄弟 是因为不同的原因让请求全部打到了数据库而造成的问题
什么是缓存穿透
缓存穿透是指查询一个数据在redis和MySQL中都不存在。也就是查询一个数据不存在的数据导致每次请求都会到达数据库给数据造成很大的压力。 解决方案 1.当查询一个不存在的数据时缓存一个空数据这样请求就只会查一次库把流量转移到了redis中 优点实现起来简单方便 缺点消耗内存可能会造成数据短期不一致缓存承受压力增加 2.布隆过滤器 什么是缓存击穿 缓存击穿某个热点key过期了数据同步慢导致请求全部到达数据库 解决方案 1.互斥锁 2.逻辑过期
什么是缓存雪崩
缓存雪崩是在某一时间段大量的key同时过期导致请求全部到达数据库 解决方案
redis和MySQL的数据同步问题如何进行同步 如果是强一致性CP双写一致性修改了数据库就修改缓存存入redis的数据肯定是读多写少的在数据修改时使用读写锁是一个不错的选择。 特点强一致低性能代码侵入性太高
如果是可用性(AP)mq绝大数的数据同步AP实现都可以用mq允许短期数据不一致达到最终一致性即可canal