当前位置:网站首页>Redis面试题汇总,mysql索引优化面试题常问
Redis面试题汇总,mysql索引优化面试题常问
2022-04-22 14:48:00 【InfoQ】
[](()slave宕机
[](()master宕机
- 在从数据库中执行SLAVEOFNO ONE命令,断开主从关系并且将从库提升为主库继续服务;
- 将主库重新启动后,执行SLAVEOF命令,将其设置为其他库的从库,这时数据就能更新回来
[](()缓存穿透
- 对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。还有最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap拦截掉,从而避免了对底层存储系统的查询压力。
- 也可以采用一个更为简单粗暴的方法,如果一个查询返回的数据为空(不管是数据不存在,还是系统故障),我们仍然把这个空结果进行缓存,但它的过期时间会很短,最长不超过五分钟。
[](()缓存雪崩
- 在缓存失效后,通过加锁或者队列来控制读数据库写缓存的线程数量。比如对某个key只允许一个线程查询数据和写缓存,其他线程等待。
- 可以通过缓存reload机制,预先去更新缓存,再即将发生大并发访问前手动触发加载缓存
- 不同的key,设置不同的过期时间,让缓存失效的时间点尽量均匀. 比如我们可以在原有的失效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会降低,就很难引发集体失效的事件
- 做二级缓存,或者双缓存策略。A1为原始缓存,A2为拷贝缓存,A1失效时,可以访问A2,A1缓存失效时间设置为短期,A2设置为长期。
[](()缓存击穿
[](()缓存预热
- 直接写个缓存刷新页面,上线时手工操作下;
- 数据量不大,可以在项目启动的时候自动进行加载;
- 定时刷新缓存;
[](()缓存更新
- 定时去清理过期的缓存;
- 当有用户请求过来时,再判断这个请求所用到的缓存是否过期,过期的话就去底层系统得到新数据并更新缓存。
[](()缓存降级
- 一般:比如有些服务偶尔因为网络抖动或者服务正在上线而超时,可以自动降级;
- 警告:有些服务在一段时间内成功率有波动(如在95~100%之间),可以自动降级或人工降级,并发送告警;
- 错误:比如可用率低于90%,或者数据库连接池被打爆了,或者访问量突然猛增到系统能承受的最大阀值,此时可以根据情况自动降级或者人工降级;
- 严重错误:比如因为特殊原因数据错误了,此时需要紧急人工降级。
[](()缓存热点key
- 当前 key 是一个热点 key( 可能对应应用的热卖商品、热点新闻、热点评论等),并发量非常大。
- 重建缓存不能在短时间完成,可能是一个复杂计算,例如复杂的 SQL、多次 IO、多个依赖等。
最后


版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://xie.infoq.cn/article/7997c95d8ce4eac0773703c1d
边栏推荐
- OpenVINO使用介绍
- VDO virtual data optimization
- 快捷键删除浏览器缓存,windows组合键,cmd快捷命令
- Principle analysis of ArcEngine print view and layout view
- Android interview: event distribution 8 consecutive questions, Android basic interview questions
- ArcEngine read raster flash back
- Upload and download of shared folders on remote server
- php 一维数组去重
- In the second half of the smart watch, opportunities and challenges coexist
- Android 开发面试题集合整理(内含答案),【工作感悟】
猜你喜欢

Learning records 568@RSA Public key system and its decryption proof mode II
Android performance optimization_ Frame animation oom? The surfaceview of optimized frame animation is parsed frame by frame. Alibaba P8 interviewers said it was too detailed

Alibaba cloud IOT transfer to PostgreSQL database scheme

每周问答精选:PolarDB-X完全兼容MySQL吗?

leetcode面试题 17.16. 按摩师(简单)

GIS and Mathematics

Tencent build project image

Machine learning model fusion method!

@Resources and constructors

【ELT.ZIP】《CCF开源高校行第一期》观后感
随机推荐
ArcEngine service data loading
How do I copy requests from the Chrome web tab to postman?
Ruoyi integrates JSP and thymeleaf solutions at the same time
快捷键删除浏览器缓存,windows组合键,cmd快捷命令
我的基于 JamStack 的新博客
国内有哪些外汇平台是安全正规的?
Principle analysis of ArcEngine print view and layout view
爱站网关键词挖掘查询工具-批量网站关键词挖掘导出软件免费下载
Jar decompiler online tool
Learning records 568@RSA Public key system and its decryption proof mode II
arcengine 这个集合中找不到此项目
Android 92022-2022 byte beating Android interview real question analysis
@Resource与构造函数踩坑
GIS与数学
【ELT.ZIP】OpenHarmony啃论文俱乐部——细数生活中的压缩点滴
VDO virtual data optimization
[ELT. Zip] comments on CCF open source college trip phase I
[ELT. Zip] openharmony paper Club - you shouldn't miss these small landscapes
net::ERR_INCOMPLETE_CHUNKED_ENCODING 200 EL表达式字符串拼接
ArcEngine symbol correlation