首页 > 其他分享 >缓存穿透,缓存雪崩,缓存击穿

缓存穿透,缓存雪崩,缓存击穿

时间:2023-01-25 20:11:15浏览次数:43  
标签:缓存 击穿 数据库 redis 穿透 雪崩

1.缓存穿透

当大量访问一个redis缓存不存在的时候,请求直接到数据库,就会对数据库造成压力。

解决办法:

  1.给数据库不存在的值,设置null缓存。

  2.null缓存设置有效期。

2.缓存雪崩

当redis缓存同时失效,或者redis die 了。

解决办法:

  1.将有效时间设置为一个随机的范围之内。

  2.redis集群提高服务的可用性

  3.给缓存业务添加限流

  4.添加多级缓存

3.缓存击穿

大量请求同时访问一个缓存重建业务复杂的key突然失效了,数据库就会受到冲击。

  1.互斥锁

  2.逻辑过期

 

标签:缓存,击穿,数据库,redis,穿透,雪崩
From: https://www.cnblogs.com/cciscc/p/17067226.html

相关文章

  • 磁盘缓存加快了磁盘访问速度
    磁盘缓存(diskcache):磁盘缓存的缓存(cache)是高速缓存、仓库的意思。磁盘缓存指的是把从磁盘中读出的数据存储到内存空间中的方式。这样一来,当接下来需要读取同一数据时,......
  • DB性能跟不上,加缓存就够了?
    服务端软件开发时,通常会把数据存储在DB。而服务端系统遇到的第一个性能瓶颈,往往发生在访问DB时。这时大部分开发会拿出“缓存”,通过使用Redis在DB前提供一层缓存数据,缓解DB......
  • 【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
    问题描述使用6379端口连接AzureRedis服务,连接失败。因为默认情况下AzureRedis的设置没有打开6379的端口。需要使用SSL(6380端口)进行连接,但是遇见了无法连接的问题。使用......
  • readyset 轻量级pg 以及mysql 缓存引擎
    readyset是基于rust开发的pg以及mysql轻量级缓存服务参考玩法如下图  说明readyset一些设计还是很有意思的,很值得学习,同时也可以在项目中尝试使用参考资料ht......
  • 【Redis技术专区】「实战案例」谈谈使用Redis缓存时高效的批量删除的几种方案
    前因后果之前我们的服务,在上线的时候发现有一些大Key的使用不是很规范,特别是没有设置过期时间,因此导致redis中内存的数据越来越多,目前Redis节点的内存已经快撑不住了。所以......
  • 多级缓存
    1.学习目标:多级缓存经常用于亿级流量的并发访问数据的优化当中:多级缓存主要分成以下几块的缓存:(1)Nginx本地缓存:用来抵抗的是热数据的高并发的操作,经常会被访问的......
  • 用AutoHotkey解决B站客户端缓存视频m4s合并成mp4提示解析失败
    一直用you-get下载B站视频,这两天发现视频的质量很低,于是又折腾了下在线播放有1080P,而you-get-i{url}返回的最高清晰度就是480P听朋友安利用哔哩下载姬(DownKyi),试了也......
  • 使用ansible部署缓存服务器
    DNS缓存服务器是一种不负责域名数据维护的DNS服务器。简单来说,缓存服务器就是把用户经常使用到的域名与IP地址的解析记录保存在主机本地,从而提升下次解析的效率,这次使用unb......
  • MESI协议:如何让多核CPU的高速缓存保持一致?
    你平时用的电脑,应该都是多核的CPU。多核CPU有很多好处,其中最重要的一个就是,它使得我们在不能提升CPU的主频之后,找到了另一种提升CPU吞吐率的办法。不知道......
  • 浅谈Spring如何利用三个缓存Map解决循环依赖
    写在最前面,在写这篇文章之前,我也参考了很多别人对于Spring循环依赖的讲解,大部分人都是按照先使用二级缓存,再使用三级缓存的思路去讲解。在阅读了Spring源码中关于循环依赖的......