突破Java面试(26)-说说如何应对缓存雪崩以及穿透问题
1 面试题
了解什么是Redis的雪崩和穿透吗?Redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理Redis的穿透?
2 考点分析
缓存必问题,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命的!
3 缓存雪崩
3.1 发生的现象
3.2 缓存雪崩的解决方案
- 事前:redis高可用,主从+哨兵,redis cluster,避免全盘崩溃
- 事中:本地ehcache缓存 + hystrix限流&降级,避免MySQL被打死
- 事后:redis持久化,快速恢复缓存数据
4 缓存穿透
4.1 缓存穿透现象以及解决方案
参考
《Java工程师面试突击第1季-中华石杉老师》
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《阿里云前端技术周刊》第十二期
作者:偏左校对:亦才南逸 知乎:阿里云中台前端/全栈团队专栏Github:阿里云前端技术周刊 给我们投稿:传送门参与交流:传送门 前端速报 2019杭州云栖大会Apsara Conference将于9月25日在杭州云栖小镇开幕,早鸟票开售 详情 都9102年了,你还了解javaScript的性能开销在哪里吗?V8团队发表文章The cost of JavaScript in 2019 输出最强性能优化指引: 详情看点: JSON.parse竟然比对象字面量快很多,大规模使用对象字面量的库如Redux是否将迎来优化?详情 那么"JSON字面量"新语法是否会诞生呢?比如: const jsonLiteral = { key: "value" } W3C 发布 CSS Animation Worklet API 规范的首个公开工作草案,Anim
- 下一篇
关于Java的动态语言支持问题
最近在读《深入理解Java虚拟机》第二版。看到第8章的动态类型语言支持的时候,发现一个有趣的问题。 前言 在《深入理解java虚拟机》第二版第8章中,主要内容是介绍JVM的字节码执行过程,在讲解动态类型语言支持的时候引入了java.lang.invoke包,以下简要介绍一下java.lang.invoke: JDK 7 实现了 JSR 292 《Supporting Dynamically Typed Languages on the Java Platform》,新加入的 java.lang.invoke 包[3]是就是 JSR 292 的一个重要组成部分,这个包的主要目的是在之前单纯依靠符号引用来确定调用的目标方法这条路之外,提供一种新的动态确定目标方法的机制,称为 Method Handle。这个表达也不好懂?那不妨把 Method Handle 与 C/C++ 中的 Function Pointer,或者 C# 里面的 Delegate 类比一下。举个例子,如果我们要实现一个带谓词的排序函数,在 C/C++ 中常用做法是把谓词定义为函数,用函数指针来把谓词传递到排序方法,像这样...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境