缓存时有哪些问题

发布时间:2021-09-29 16:08:39 作者:iii
来源:亿速云 阅读:121

本篇内容介绍了“缓存时有哪些问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

缓存正常的处理流程如下:

缓存时有哪些问题

  1. 系统先从缓存中获取数据,如果成功获取到数据,则直接返回数据;

  2. 若没有获取到,则从数据库中获取,从数据库中正常获取之后,把数据更新进缓存中,返回正常数据;

  3. 若从数据库中也没有获取到数据,则返回空数据。

缓存的几个问题:

缓存雪崩

原有缓存失效,最新缓存数据未进入缓存期间,原本所有从缓存获取数据的请求都去查询数据库了。
对数据库CPU和内存造成巨大压力,严重会造成数据库宕机。

解决方案:

  1. 缓存数据的过期时间设置随机,避免同一时间大量缓存过期。

  2. 如果缓存数据是分布式部署,则将热点数据均匀分布在不同的缓存数据库中。

  3. 设置热点数据永不过期

缓存穿透

指的是用户所查询的数据,数据库中不存在,缓存中也不存在。但是用户不断进行查询,导致数据库压力过大。

解决方案:

  1. 接口层增加校验,对于查询数据进行基础校验,不符合规则的,直接拒绝。

  2. 从缓存取不到的数据,在数据库中也查不到,则可以将key-value对写成key-null,缓存起来。

缓存预热

系统上线后,将相关的缓存数据直接加载到缓存系统,可以避免在用户请求的时候,先查询数据库,然后再将
数据缓存的问题。

缓存更新

除了缓存服务器自带的缓存失效策略之外,我们还可以具体的业务场景,进行自定义缓存淘汰。

常见的策略如下:

  1. 定时清理过期的缓存。

  2. 当用户请求数据的时候,判断这个请求用到的缓存是否过期,过期的话,直接更新缓存。

缓存降级

当访问量剧增,服务出现问题的时候,或者非核心服务影响到核心流程的性能时,仍然需要保证服务可用,即时是有损服务的。
系统可以根据一些关键数据进行自动降级,也可以配置开关实现人工降级。
降级的最终目的是保证核心服务可用。

“缓存时有哪些问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 缓存穿透问题
  2. 使用缓存问题

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

缓存

上一篇:微信支付接入步骤

下一篇:SpringBoot怎样进行缓存

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》