定义

缓存

什么是缓存?

cache(发音为CASH)是一种硬件或软件,用于在计算环境中临时存储某些东西,通常是数据。

它的速度快一点,价格也贵一点记忆用于提高最近访问或频繁访问数据的性能。缓存数据临时存储在可访问的存储介质它是缓存客户端本地的,并且与主存储分离。缓存通常用于中央处理器(CPU)、应用程序、web浏览器和操作系统。

使用缓存是因为大容量存储或主存储无法满足客户端的需求。缓存减少数据访问时间,减少延迟并改善输入/输出(I / O).因为几乎所有的应用程序工作负载都依赖于I/O操作,所以缓存过程可以提高应用程序的性能。

缓存是如何工作的?

当缓存客户端尝试访问数据时,它首先检查缓存。如果在那里找到数据,则被称为a缓存命中.导致缓存命中的尝试百分比称为缓存命中率或比例。

在缓存中找不到的请求数据——称为缓存丢失——将从主存中取出并复制到缓存中。如何做到这一点,以及从缓存中弹出哪些数据来为新数据腾出空间,取决于缓存算法使用缓存协议和正在使用的系统策略。

高速缓冲存储器
缓存存储器是与主存储器之前访问的主内存分开的内存块。

Safari、Firefox和Chrome等网络浏览器使用浏览器缓存来提高频繁访问的网页的性能。当用户访问一个网页时,请求的文件存储在用户的计算存储中,该浏览器的缓存中。

要检索先前访问的页面,浏览器获取其需要从缓存中所需的大多数文件,而不是使它们怨恨web服务器.这种方法被称为读缓存.浏览器可以更快地从浏览器缓存读取数据,而不是从网页重新读取文件。

缓存之所以重要,有以下几个原因:

  • 缓存的使用减少了活动数据的延迟。这将为系统或应用程序带来更高的性能。
  • 它将I/O转移到缓存,减少I/O操作到外部存储和更低的级别存储区域网络
  • 数据可以永久保存在传统存储器或外部存储器中存储阵列.这保持了使用功能的数据的一致性和完整性,例如快照复制,由存储或阵列提供。
  • 闪光仅用于将受益于较低延迟的工作负载部分。这导致成本效益使用更昂贵的存储。

高速缓冲存储器要么包含在CPU上或嵌入在系统板上的芯片中。在较新的机器中,增加缓存存储器的唯一方法是将系统板和CPU升级到最新生成。较旧的系统板可能具有空插槽,可用于增加高速缓冲存储器。

如何使用缓存?

缓存用于存储临时文件,使用硬件和软件组件。硬件缓存的一个例子是CPU缓存。这是计算机处理器上的一小块内存,用来存储最近使用或经常使用的基本计算机指令。

许多应用程序和软件也有自己的缓存。这种类型的缓存暂时存储应用程序相关的数据、文件或指令,以便快速检索。

Web浏览器是应用程序缓存的一个很好的例子。如前所述,浏览器有自己的缓存,可以将来自以前的浏览会话中的信息存储在将来的会话中使用。想要重写a的用户YouTube视频可以加载更快,因为浏览器从缓存中访问它从上一个会话保存的缓存。

其他使用缓存的软件包括:

缓存的好处是什么?

缓存有几个好处,包括以下内容:

  • 性能在高速缓存中存储数据可以使计算机运行得更快。例如,存储以前浏览会话的文件的浏览器缓存可以加快对后续会话的访问。数据库缓存加速了数据检索,否则需要花费大量时间和资源下载。
  • 离线工作缓存还可以让应用程序在没有互联网连接的情况下运行。应用程序缓存提供对最近访问或经常使用的数据的快速访问。但是,缓存可能不能提供对所有应用程序功能的访问。
  • 资源效率除了速度和灵活性外,缓存可以帮助物理设备节省资源。例如,快速访问缓存节省电池电量。

缓存的缺点是什么?

缓存有问题,包括以下内容:

  • 腐败。缓存可以是损坏,使存储数据不再有用。数据损坏可能导致浏览器等应用程序崩溃或显示数据不正确。
  • 的性能。缓存通常是临时内存的小型存储。如果它们太大,会导致性能下降。它们还可能消耗其他应用程序可能需要的内存,从而对应用程序性能产生负面影响。
  • 过时的信息有时,应用程序缓存显示旧的或过时的信息。这可能会导致应用程序故障或返回误导信息。如果一个网站或应用程序在互联网上更新,使用以前会话的缓存版本将不能反映更新。这不是静态内容的问题,但却是动态内容在会话或会话之间发生变化。

缓存算法

缓存维护说明由缓存算法提供。缓存算法的一些示例包括以下内容:

  • 至少经常使用跟踪缓存条目被访问的频率。计数最低的项目首先被删除。
  • 最近最少使用将最近访问的项放在缓存的顶部。当缓存达到其限制时,最近访问次数最少的项将被删除。
  • 最近使用首先删除最近访问的项目。当更容易使用较旧的物品时,这种方法最好。

缓存策略

各种缓存策略确定缓存如何运行。然后包括以下内容:

  • Write-around缓存将操作写入存储,跳过缓存。当有大量写入I / O时,这可以防止缓冲淹没。这种方法的缺点是数据不缓存,除非它从存储中读取。因此,读取操作速度慢,因为数据尚未缓存。
  • 直写式高速缓存将数据写入缓存和存储。优势直写式缓存是指新写入的数据总是被缓存,因此可以快速读取。缺点是,只有将数据同时写到缓存和缓存中,写入操作才被认为是完成的主要存储.这可以将延迟引入写入操作。
  • 回写缓存与透写类似,因为所有的写操作都指向缓存。但随着回写式缓存,在缓存数据后,考虑写入操作。一旦发生这种情况,将从缓存中复制数据以存储。

通过这种方法,读取和写入操作都具有低延迟。缺点是,根据使用缓存机制,数据仍然易受损失,直到它致力于存储。

缓存的好处
不同的缓存策略有不同的优势。

清除缓存做什么以及它应该多久进行一次?

清除缓存释放记忆空间在设备上。浏览器缓存使用内存存储直接从网上下载的文件。清除它可以解决用户的问题,如:

  • 一个完整的缓存内存可能会导致应用程序崩溃或无法正确加载。
  • 旧缓存可以包含过时的信息和文件,导致网页不加载或加载不正确。清除它们可以摆脱过时的信息。
  • 浏览器缓存还包含保存的个人信息,如密码。清除它们可以保护用户。
  • 可以通过进入设置清除大多数浏览器缓存。

缓存应该定期清除,而不是每天清除。太频繁地清除缓存不是对资源的良好利用,因为以下问题:

  • 用户丢失了快速文件访问的好处;
  • 缓存会自行删除一些文件,不需要这种维护;和
  • 计算机将缓存新文件并再次填充空格。

如何清除缓存?

浏览器缓存是大多数终端用户所熟悉的。在大多数情况下,可以通过设置或首选项选项卡或菜单项清除它们。这些功能包含隐私设置,饼干和历史。用户可以从这些选项卡或菜单中删除或更改设置。

许多基于计算机的浏览器都有快捷键来快速进入这些菜单:

这些快捷方式将用户带到设置菜单,而设置菜单在不同的浏览器中略有不同。

下面是如何删除缓存在Google Chrome上:

  • Ctrl-Shift-Delete如果是在Windows机器上,或者命令班 - 删除在Mac上。
  • 滚动到“隐私和安全性”部分。
  • 选择清除浏览数据
  • 从下拉菜单中选择时间段或选择所有的时间删除整个缓存。
  • 点击缓存的图像和文件
  • 点击明确的数据

类型的缓存

缓存用于许多目的。各种缓存方法包括:

高速缓冲存储器是微处理器访问RAM的速度比访问普通RAM的速度快。它通常直接与CPU绑定,用于缓存经常被访问的指令。RAM缓存比基于磁盘的更快,但是缓存内存比RAM缓存更快,因为它接近CPU。

表比较RAM和高速缓存内存
看看RAM和高速缓存在使用、速度、容量和成本方面的比较。

缓存服务器,有时称为代理缓存,是专用的网络服务器或服务。缓存服务器在本地保存网页或其他Internet内容。

CPU缓存是放置在CPU上的一点内存。这个内存以CPU的速度而不是系统的速度运行公共汽车速度比速度快内存

磁盘高速缓存保存最近读取的数据,有时保存可能很快被访问的相邻数据区域。一些磁盘缓存根据读取数据的频率缓存数据。经常阅读存储被称为热块并被自动发送到缓存。

闪存缓存,也被称为固态硬盘的缓存,使用NAND闪存芯片临时存储数据。Flash Cache比传统硬盘驱动器或备用商店的一部分更快地满足数据请求。

持久缓存在系统中数据不会丢失的存储容量重新启动或崩溃。电池备份用于保护数据或将数据刷新到电池备份动态RAM.作为防止数据丢失的额外保护。

内存缓存通常包括嵌入在主板和内存模块上的永久内存,可安装在专用插槽或附件位置。主板总线提供对此内存的访问。CPU缓存存储器比RAM快10到100倍,只需要几个纳秒响应CPU请求。RAM缓存具有比响应时间更快磁性媒体,以毫秒为单位提供I / O.

Translation lookaside buffer,也被称为TLB.,是存储最近的虚拟内存翻译的内存缓存物理地址并加速虚拟内存操作。

内存层次结构中的缓存
了解各种类型的内存如何在尺寸和速度方面进行比较。

学习如何配置浏览器,避免缓存中毒,这是一个严重的安全威胁。

这是最后更新的10月2021年

关于缓存

深入挖掘存储管理和分析

搜索灾难复苏
搜索数据备份
搜索聚合基础设施
关闭
Baidu