当前位置: 首页 > 网络应用技术

“ Java采访核心知识点” - 缓冲雪崩,缓存渗透,降级降级

时间:2023-03-06 01:38:57 网络应用技术

  最近,我们专注于学习与Redis相关的知识点。分布式缓存设计的核心问题主要是通过哪种缓存预热和缓存更新方法共享的,以及如何解决高速缓存雪崩,缓存渗透和降级的问题。

  这些问题在不同的应用程序方案中具有不同的解决方案。以下引入了常用的解决方案。

  I.缓存预热缓存预热是指在用户请求数据之前将数据加载到缓存系统中。用户查询已预先加热以提高系统查询效率已预热的缓存数据。计算机通常具有系统的启动加载和时间加载。

  其次,缓存更新缓存更新是指在数据更改后数据更改缓存后及时更新数据。常见的缓存更新策略在以下4种类型中。

  在缓存期间,到期数据到期到最新数据并更新缓存到期时间。

  当用户有请求时,请编写数据库并同时更新缓存,这适合用户对用户数据和数据库数据的真实时间要求。

  当用户读取请求时,首先确定请求数据的缓存是否存在还是到期。如果没有存在或有效期,则基础数据库查询并在缓存中更新查询结果,并将查询结果返回给用户。

  第三,当缓存数据太多以至于无法确定哪些数据时,缓存消除策略需要使用某种消除算法。有几种常用的消除算法。

  第四,缓存雪崩和雪地座监护权是指造成大量请求的数据库,这些请求可能同时可以同时访问缓存,这是同一时间的同时访问缓存的,并对CPU造成了巨大压力系列链反应导致整个系统崩溃。通常有三种处理方法。

  5.捕获渗透和渗透是指在缓存系统中不存在的数据或经常查询系统(系统中没有存在,在天然数据库和缓存中都不存在),此时此端到数据库,导致过载数据库又导致一系列并发问题。

  例如,用户在没有Zhangsan的情况下启动了用户名的请求,并且系统中没有名为Zhangsan的用户。这导致数据每次都在缓存中找到数据,然后转到数据库再次查询。由于Zhangsan用户不存在系统中的Zhangsan用户,它自然返回到空中,导致请求经常通过缓存。查询数据库。当用户经常发送请求时,数据库系统负载将增加,这可能会导致其他问题。常见的解决方案用于缓存渗透问题,包括Bloom过滤器和缓存null策略。

  6.调用降级和缓存降级是指核心业务运营问题,这是由于访问量数量的增加(例如访问量的数量增加(例如,例如响应速度或不响应),以及非核心业务对资源的使用减少。常见的服务降级策略如下。