首页 > 其他分享 >关于缓存的击穿、雪崩、穿透

关于缓存的击穿、雪崩、穿透

时间:2024-08-14 19:26:55浏览次数:14  
标签:导致 缓存 过期 数据库 击穿 加锁 雪崩 key

击穿:形象过程为当一个key过于火爆,很多用户同时查找这个key,造成高并发的同时这个缓存如果瞬间失效,导致大量业务进入数据库进行查询,造成性能差等一些问题。

解决方法:1.设置缓存时间永不过期 2.加锁排队,使其由并行成为串行。

雪崩:在第一个的基础上,是多个key在同一时间缓存失效,或者缓存服务器挂了,导致大量业务进入数据库进行操作,导致数据库压力过大,挂了。

解决方法:1.设置随机过期时间 2.集群哨兵模式,切换服务器 3.加锁排队

穿透:大量操作在缓存中没有数据,数据库中也没有数据,类似恶意请求,导致性能过差,数据库压力大等。

解决方法:1.请求进行参数校验 2.缓存空对象 3布隆过滤器

标签:导致,缓存,过期,数据库,击穿,加锁,雪崩,key
From: https://blog.csdn.net/weixin_62987818/article/details/141160536

相关文章

  • 并发场景下,缓存失效处理场景
    并发场景下,缓存失效,需要从数据库或下游查询缓存中的数据。若并发流量都请求到下游,导致下游压力较大,可通过如下方式进行处理:importjava.util.concurrent.*;publicclassSingleFlight{privatefinalConcurrentMap<Object,CompletableFuture<?>>cache=newConcurrent......
  • pbootcms模板自动清理runtime缓存
    打开/apps/home/controller/ExtLabelController.php文件找到  //测试扩展单个标签  privatefunctiontest()  {    $this->content=str_replace('{pboot:userip}',get_user_ip(),$this->content);  }}在它下面加入//自动会话清理脚本publicfunc......
  • Spring Boot 缓存优化攻略
    1.确定待缓存的对象首先,我们需要明确哪些对象最适合缓存。一般而言,那些代价高昂且耗时的操作的结果需要优先考虑,例如数据库查询、网络服务调用或复杂计算的结果。然而,定义一些理想缓存候选对象的通用特征将更重要。这些特征有助于我们在应用程序中识别适合缓存的对象:频繁访......
  • 什么是缓存击穿、缓存穿透、缓存雪崩?
    1.缓存击穿(CacheBreakdown)定义:缓存击穿指的是缓存中某个热点数据在过期或被删除后,突然失效,导致大量请求同时到达数据库。由于热点数据的缓存失效,这些请求会同时直接访问数据库,导致数据库负载急剧增加。具体场景:假设一个电商平台的一个热销商品的库存信息被缓存了。......
  • windwos清理图标缓存
    有的时候桌面图标突然就没了,可以采用下面bat命令进行清理rem关闭Windows外壳程序explorertaskkill/f/imexplorer.exerem清理系统图标缓存数据库attrib-h-s-r"%userprofile%\AppData\Local\IconCache.db"del/f"%userprofile%\AppData\Local\IconCache.db"a......
  • jetcache缓存使用
    1、简介​ jetcache是阿里开源的一个缓存框架,支持像guava的cache、caffeine的Cache用法,也可以集成springboot,像spring的@Cache注解一样进行使用。​ jetcache的缓存类似于map,提供了get、put、putAll、computeIfAbsent等方法,另外还提供了单机锁、分布式锁机制,一般也不用这个......
  • .NET8 缓存的使用
    .NET8下面的几种缓存的使用。(1)ICache.cs   usingSystem;usingSystem.Threading.Tasks;publicinterfaceICache{#region设置缓存///<summary>///设置缓存///</summary>///<paramname="key"&......
  • Redis实际项目中涉及缓存一致性的处理
    在实际项目中,Redis缓存一致性是一个关键问题,尤其是在分布式系统中。缓存一致性指的是确保缓存中的数据与实际数据库中的数据保持同步。以下是一些在实际项目中处理Redis缓存一致性的方法和最佳实践:1.缓存失效策略a.TTL(TimetoLive):设置缓存的过期时间。当数据过期后,缓存会自......
  • 如何使用Memcached缓存图片信息
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可......
  • 【Redis进阶】缓存设计模式
    目录CacheAside(旁路缓存)模式概念读操作流程如上图所示写操作流程如上图所示代码示例总结Read-Through模式概念操作流程:优点:Write-Through模式概念操作流程:优点:Write-Behind(Write-Back)模式概念操作流程:优点:缺点:总结缓存设计模式是指将缓存作为系统架......