专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网
励北网

缓存击穿和缓存穿透的区别

来源:小易整编  作者:小易  发布时间:2023-08-16 10:54
摘要:缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起的数据特别大而不存在的数据。缓存击穿是指缓存中没有但数据库中有的数据,由于并发用户特别多,同时读缓存没读到数据,同时数据库取数据引起数据库压力瞬间增大,造成过大压力。缓存处理...

缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起的数据特别大而不存在的数据。缓存击穿是指缓存中没有但数据库中有的数据,由于并发用户特别多,同时读缓存没读到数据,同时数据库取数据引起数据库压力瞬间增大,造成过大压力。

缓存击穿和缓存穿透的区别

缓存处理流程是由前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。

缓存穿透

描述:

缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为 id 为“-1”的数据或 id 为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。

解决方案:

接口层增加校验,如用户鉴权校验,id 做基础校验,id<=0 的直接拦截;

从缓存取不到的数据,在数据库中也没有取到,这时也可以将 key-value 对写为 key-null,缓存有效时间可以设置短点,如 30 秒(设置太长会导致正常情况也没法使用)。这样可以防止攻击用户反复用同一个 id 暴力攻击。

缓存击穿

描述:

缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力

解决方案:

设置热点数据永远不过期。

加互斥锁。

缓存雪崩

描述:

缓存雪崩是指缓存中数据大批量到过期时间,而查询数据量巨大,引起数据库压力过大甚至 down 机。和缓存击穿不同的是,        缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。

解决方案:

缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。

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

设置热点数据永远不过期。


本文地址:百科问答频道 https://www.neebe.cn/wenda/1026164.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


百科问答
小编:小易整编
相关文章相关阅读
  • SSD缓存是什么意思?

    SSD缓存是什么意思?

    SSD缓存(Solid-StateDrivecache)是一种用于存储和缓存数据的一种存储设备,它使用可擦除可编程闪存(NAND)作为媒体,以改善系统性能,并帮助减少访问磁盘驱动器时所需的等待时间。SSD缓存可用于加速操作系统和数据库...

  • 缓存穿透是什么意思?

    缓存穿透是什么意思?

    缓存穿透是指在一个分布式系统中,缓存不存在时,客户端向服务器请求数据,而服务器端数据也不存在的情况,由于没有缓存,客户端会不断的发出请求,造成服务器雪崩,从而导致服务器无法提供服务。缓存穿透有两种情况:一种是请求的数据不存在,另一种是请...

  • 硬盘缓存是什么意思?

    硬盘缓存是什么意思?

    硬盘缓存(DiskCache)是指将计算机的硬盘用作缓存的技术。硬盘缓存的目的是通过把常用的数据存储在硬盘上,来提高计算机的访问速度。硬盘缓存通常由计算机操作系统或其他应用程序自动管理。当计算机访问某个数据时,首先会检查硬盘缓存中是否存...

  • 离线导航与在线导航有什么区别(开车用离线导航还是离线地图)

    离线导航与在线导航有什么区别(开车用离线导航还是离线地图)

    最早之前,开车要是不认识路,就需要下车找人询问,复杂的道路往往问了一次又一次才能找到。现在不认识路已经不是问题了,汽车上的导航都很准确,你完全没去过的地方跟着导航就能轻松找到。不过不知道大家注意到没有,现在的车上的导航有离线模式和在线模式,...

  • 缓存雪崩是什么意思?

    缓存雪崩是什么意思?

    缓存雪崩是一种状态下的性能问题,它是指大量的缓存实例在同一时间失效或同时过期,造成雪崩状态。一旦出现这种状态,软硬件负载会瞬间大幅度提升。缓存雪崩通常发生在缓存节点多且节点差异性较小的场景。比如,在多服务器的分布式环境中,多个服务器使用同...

  • 电脑上微信的缓存垃圾怎么清理

    电脑上微信的缓存垃圾怎么清理

    今天给大家介绍一下电脑上微信的缓存垃圾怎么清理的具体操作步骤。1.首先打开电脑,找到桌面上的”此电脑“图标,双击打开。2.进入此电脑页面后,找到”文档“选项,打开。3.在打开的文档页面,选择"WeChatFiles文件夹,打开。4......

  • SATA2.0和SATA3.0硬盘数据线有什么区别?

    SATA2.0和SATA3.0硬盘数据线有什么区别?

    问题提出:SATA2.0和SATA3.0硬盘数据线一样吗?我的主板支持SATA3.0的硬盘接口,我买了一块SATA3.0标准硬盘,发现接口的外形和SATA2.0一样,插上普通的硬盘线也能用,想知道SATA2.0和SATA3.0硬盘数...

  • PS缓存是什么意思?

    PS缓存是什么意思?

    PS缓存(PersistentStorageCache)是一种保持数据(文件或内存)永久性存在的减轻分布式存储系统负载的方案,它的基本思想是把要被持久化的数据存储在本地缓存内(例如放入内存中),如果系统中有任何对持久化数据的请求,只需...

  • 周排行
  • 月排行
  • 年排行

精彩推荐