服务器端缓存失效的应对方法
发布时间:2023-03-30 10:03:49 所属栏目:经验 来源:
导读:传统缓存失效应对策略 为了提高业务访问速度,提升业务并发,很多用户都会在业务架构中引入缓存层。业务所有读请求全部路由到缓存层,通过缓存的内存读取机制大大提升业务读取性能。缓存中的数据不能持久存 ,一旦缓
|
传统缓存失效应对策略 为了提高业务访问速度,提升业务并发,很多用户都会在业务架构中引入缓存层。业务所有读请求全部路由到缓存层,通过缓存的内存读取机制大大提升业务读取性能。缓存中的数据不能持久存 ,一旦缓存异常退出,那么内存中的数据就会丢失,所以为了保证数据完整,业务的更新数据会落地到持久化存储中,例如DB。 用户的更新数据直接持久化到DB, 业务读请求直接请求缓存数据,所以业务需要解决缓存失效问题,即解决因为数据变更导致缓存中的数据失效的问题。 目前业务解决缓存失效问题的解决方法一般是业务实现DB、缓存双写。 代码侵入性比较强,需要写两份存储,任何对DB的数据变更,都需要同时更新缓存,代码层面后期可维护程度不高 用户请求线程里同步调用缓存,对缓存存在以来,遇到缓存超时等异常时,没有办法做到有效的重试,遇到异常给用户返回系统错误、操作失败等信息,严重影响用户体验 用户请求线程里同步完成DB、缓存双写,变更请求链路长,访问延迟大,影响用户体验 RDS数据订阅消费,轻松解决缓存失效 缓存失效流程,可以看出这种缓存失效机制: 1.更新路径短,延迟低:缓存失效为异步流程,业务更新DB完成后直接返回,不需要关心缓存失效流程,整个更新路径短,更新延迟低 2.应用简单可靠:应用无需实现复杂双写逻辑,通过启动异步线程并更新缓存数据,就能有效实现对数据的实时追踪 3.应用更新无性能消耗:因为数据订阅是通过解析DB的增量日志来获取增量数据,获取数据的过程对业务、DB性能无损 数据订阅功能为阿里云数据传输提供的一种数据分发方式。基于数据订阅的缓存失败策略,使企业能够更快速地更新业务内容,并提高企业的可信度和有效性。 数据订阅只是数据传输提供的一种传输方式,并不是所有的数据都可以通过网络进行传输。除了数据订阅之外,数据传输还提供了数据实时同步,不停服迁移等多种传输能力,如需了解数据传输更多详情,请猛击数据传输。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
