缓存可以分为 CPU 级别的缓存、 操作系统的缓存以及应用层的缓存, 下面对上述三种类
型的缓存进行详细的叙述。
CPU级别的缓存
CPU 级别的缓存: 是指集成在 CPU 芯片上的缓存, 通常分为三级缓存(L1、 L2、 L3) 。 L1缓存位于 CPU 内部, 速度最快但容量最小; L2 缓存也位于 CPU 内部, 速度略慢但容量较大;L3 缓存位于 CPU 芯片之外, 速度最慢但容量最大。 CPU 级别的缓存主要用于存储 CPU 中需要使用的数据和指令, 减少 CPU 访问内存的次数, 从而提高 CPU 的处理效率。
操作系统的缓存:
在 Linux 操作系统中, 缓存是一种内存管理机制, 主要用于缓存磁盘上的数据, 以提高系
统的磁盘访问速度。 Linux 操作系统的缓存主要分为页缓存和目录缓存两种类型。
页高速缓存: 页高速缓存是 Linux 操作系统中最常见的一种缓存类型, 也是最重要的一种
缓存类型(会在下一小节进行详细讲解) 。 页高速缓存主要用于缓存文件和块设备的数据, 当
程序读取文件或者块设备数据时, 系统会将数据缓存到内存中的页高速缓存中。 当程序再次访
问这些数据时, 系统可以直接从页高速缓存中读取数据, 从而提高磁盘访问速度。
目录缓存: 目录缓存用于缓存磁盘上的目录项和文件属性信息, 以加速文件系统的访问。
当程序访问文件或者目录时, 系统会首先查找目录缓存中是否存在相应的目录项或者属性信
息, 如果存在, 则直接返回缓存的信息, 否则就需要从磁盘上读取相应的信息。
Linux 操作系统中的缓存是一种非常有效的机制, 可以提高系统的性能和效率。
应用层的缓存
应用层缓存是指应用程序自身的缓存, 主要将一些常用应用的数据缓冲到内存中, 以减少
频繁访问磁盘等外部设备的次数, 从而提高应用程序的运行效率。
综上, 无论是哪一种类型的缓存, 最终的作用都是用来缓解 CPU 和内存之间、 内存和硬盘
之间因为传输速度不同带来的矛盾。