当前位置: 首页 > news >正文

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

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

什么是缓存穿透?

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

什么是缓存雪崩?

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

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

在这里插入图片描述

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

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

在这里插入图片描述

http://www.lryc.cn/news/63489.html

相关文章:

  • jQuery知识点二
  • 4 月份 火火火火 的开源项目
  • PAT A1011 World Cup Betting
  • Android 拍照以及相册中选择(适配高版本)————上传头像并裁剪(一)
  • 带你了解现在的LED显示屏技术
  • AI模型推理(1)——入门篇
  • MySQL--表的基本查询--0410--15
  • Scala语言入门以及基本语法
  • Linux shell编程 循环语句for continue break
  • leetcode 643. 子数组最大平均数 I
  • TDA4VM/VH 芯片硬件 mailbox
  • 如何利用Trimble RealWorks三维激光扫描仪进行外业测量和内业处理?
  • mysql数据备份
  • 排队接水--贪心
  • 数字温度传感器-DS18B20
  • 【算法】【算法杂谈】从M个数中等概率的选出n个数,保证每一个数的选中概率都是n/m(蓄水池算法)
  • vue3+ts+vite自适应项目——路由、layout布局
  • 数据库之约束、索引和事务
  • centos --libreoffice使用
  • Steam-V Rising 私人服务器架设教程
  • SpringBoot+Vue3实现登录验证码功能
  • spring2:创建和使用
  • 前端如何处理后端一次性传来的10w条数据?
  • Codeforces Round 867 (Div. 3)(A-G2)
  • 蓝奥声核心技术分享——一种无线低功耗配置技术
  • kafka集群模拟单节点故障
  • 笔记:vue-cli-service
  • Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
  • ChatGPT技术原理 第六章:对话生成技术
  • 【C++ 八】写文件、读文件