分布式缓存--简单理解
2020-06-29 05:03
141 查看
分布式缓存
缓存雪崩:
- 当大量请求访问同一个缓存时,对应得缓存失效,结果所有的请求都去访问数据库,对数据库CPU和内存造成巨大压力,可能导致宕机,从而形成的一系列连锁反应,造成系统崩溃损坏。
- 一般处理方式有:设置缓存标记,记录缓存是否过期,过期的话就更新缓存。或者是给不同的缓存设置不同的过期时间
缓存穿透:
- 当用户查询数据时,在缓存中没命中后,去数据库中查询,查到返回空或者查不到(相当于两次查询了没用的数据)这样请求就绕过缓存直接查数据库,这也是经常提的缓存命中率问题。
- 一般解决方式有:常用的可以使用布隆过滤器,另外一种简单粗暴如果结果返回空的话就直接把空结构进行缓存,设置过期时间短一点大概不超过5分钟的样子,这样下次请求就会有值了就不会直接去访问数据库了
缓存预热
- 就是系统上线后,将相关的数据缓存到缓存系统中,避免用户查询的时候先查数据库、再去查缓存的问题
缓存更新(淘汰策略)
- 除了缓存服务器自带的缓存失效策略之外(Redis 默认的有 6 种策略可供选择),我们还可以根据具体的业务需求进行自定义缓存淘汰策略,常见的策略有两种:
1、定时去清理过期的缓存;
2、当有用户请求过来时,再判断这个请求所用到的缓存是否过期,过期的话就去底层系统得到新的数据并更新缓存。
缓存降级
- 当访问量剧增时、服务器出现问题如:响应时间慢或长时间不响应,为了保证服务的高可用性,系统可根据一些关键数据进行自动降级、也可以通过人工降级的方式来保证服务的高可用,但是要注意该操作是会对服务造成一定损失的谨慎操作,有些服务是无法降级例如:购物车、结算操作。
- 在缓存降级之前要梳理好,必须要保护的不可以降级和可降级的。降级的方式可以通过业务或者是日志等级来划分降级的级别,一般都是通过日志等级来划分,主要划分为:一般、警告、错误、严重错误,还可以根据不同的级别来设定不同的操作,比如这里的错误和严重错误的时候就可以通过人工降级的方式处理
相关文章推荐
- 学习之浏览器缓存(新手小白的简单理解)
- webView 简单理解 缓存和删除
- (5A)HttpServletResponse:getWriter和getOutputStream()、sendRedirect()、session(简单理解)、文件下载、页面缓存
- 分布式应用程序结构简单理解
- 技术文章 | 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- redis作为缓存的简单理解
- 关于SDWebImage内存缓存的一点简单理解-King
- 史上最简单的spark教程第三章-深入Java+spark案例,理解RDD分布式数据集
- 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- Memcahed分布式缓存服务替换Session解决方案——简单介绍[转]
- 深入理解分布式系统中的缓存架构(下)
- Dubbo分布式服务框架的简单理解
- 对分布式系统的简单理解
- 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- 分布式系统和集中式系统概念的简单易懂理解
- MyBatis关于识别器和缓存的简单理解
- 分布式缓存技术redis学习系列----深入理解Spring Redis的使用
- 分布式系统的简单理解
- git分布式的理解----简单服务端搭建