Apache HTTP Server 版本 2.4
描述 | HTTP 缓存过滤器的基于磁盘的存储模块。 |
---|---|
状态 | 扩展 |
模块标识符 | cache_disk_module |
源文件 | mod_cache_disk.c |
mod_cache_disk
为 mod_cache
实现了一个基于磁盘的存储管理器。
缓存响应的头部和主体分别存储在磁盘上,存储在从缓存 URL 的 md5 哈希值派生的目录结构中。
可以同时存储多个内容协商响应,但是此模块尚不支持部分内容的缓存。
通过将主体文件的设备和 inode 号存储在头部文件中,可以实现对头部和主体文件的原子缓存更新,而无需锁定。这有一个副作用,即手动移动到缓存中的缓存条目将被忽略。
提供了 htcacheclean
工具来列出缓存的 URL、删除缓存的 URL 或在大小和/或 inode 限制内维护磁盘缓存的大小。该工具可以按需运行,也可以守护进程化以提供对目录大小的持续监控。
mod_cache_disk
需要 mod_cache
的服务,它必须在 mod_cache_disk 之前加载。
mod_cache_disk
使用 sendfile 功能从缓存中提供文件,前提是平台支持,并且通过 EnableSendfile
启用。但是,mod_cache_disk
会忽略 EnableSendfile
的每个目录和 .htaccess 配置,因为当从缓存中提供请求时,相应的设置不可用。
描述 | 子目录名称中的字符数 |
---|---|
语法 | CacheDirLength length |
默认值 | CacheDirLength 2 |
上下文 | 服务器配置,虚拟主机 |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheDirLength
指令设置缓存层次结构中每个子目录名称的字符数。它可以与 CacheDirLevels
结合使用以确定缓存层次结构的近似结构。
CacheDirLength
的高值与 CacheDirLevels
的低值相结合将导致相对平坦的层次结构,在每个级别都有大量的子目录。
CacheDirLevels
* CacheDirLength
的结果不能高于 20。
描述 | 缓存中子目录的级别数。 |
---|---|
语法 | CacheDirLevels levels |
默认值 | CacheDirLevels 2 |
上下文 | 服务器配置,虚拟主机 |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheDirLevels
指令设置缓存中子目录的级别数。缓存数据将保存在指定 CacheRoot
目录下此目录级别数的目录中。
CacheDirLevels
的高值与 CacheDirLength
的低值相结合将导致相对深的层次结构,在每个级别都有少量子目录。
CacheDirLevels
* CacheDirLength
的结果不能高于 20。
描述 | 要放入缓存中的文档的最大大小(以字节为单位) |
---|---|
语法 | CacheMaxFileSize bytes |
默认值 | CacheMaxFileSize 1000000 |
上下文 | 服务器配置,虚拟主机,目录,.htaccess |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheMaxFileSize
指令设置要考虑存储在缓存中的文档的最大大小(以字节为单位)。
CacheMaxFileSize 64000
描述 | 要放入缓存中的文档的最小大小(以字节为单位) |
---|---|
语法 | CacheMinFileSize bytes |
默认值 | CacheMinFileSize 1 |
上下文 | 服务器配置,虚拟主机,目录,.htaccess |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheMinFileSize
指令设置要考虑存储在缓存中的文档的最小大小(以字节为单位)。
CacheMinFileSize 64
描述 | 在将数据发送到下游之前要读取和缓存的文档的最小大小(以字节为单位) |
---|---|
语法 | CacheReadSize bytes |
默认值 | CacheReadSize 0 |
上下文 | 服务器配置,虚拟主机,目录,.htaccess |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheReadSize
指令设置在将数据发送到客户端之前从后端读取的最小数据量(以字节为单位)。默认值为零,导致所有大小的数据读取都会立即在下游传递到客户端。将其设置为更高的值会导致磁盘缓存至少缓冲此数量,然后再将结果发送到客户端。这可以提高从反向代理缓存内容时的性能。
此指令仅在将数据保存到缓存时生效,而不是从缓存中提供数据时生效。
CacheReadSize 102400
描述 | 读取时应经过的最小时间(以毫秒为单位),然后才将数据发送到下游 |
---|---|
语法 | CacheReadTime milliseconds |
默认值 | CacheReadTime 0 |
上下文 | 服务器配置,虚拟主机,目录,.htaccess |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheReadTime
指令设置在尝试将数据发送到下游客户端之前应经过的最小时间量。在此期间,数据将在发送结果到客户端之前进行缓冲。这可以提高从反向代理缓存内容时的性能。
默认值为零,禁用此选项。
此指令仅在将数据保存到缓存时生效,而不是从缓存中提供数据时生效。建议将此选项与 CacheReadSize
指令一起使用,以确保如果数据到达速度快于预期,服务器不会过度缓冲。
CacheReadTime 1000
描述 | 存储缓存文件的目录根目录 |
---|---|
语法 | CacheRoot directory |
上下文 | 服务器配置,虚拟主机 |
状态 | 扩展 |
模块 | mod_cache_disk |
CacheRoot
指令定义磁盘上包含缓存文件的目录的名称。如果 mod_cache_disk
模块已加载或编译到 Apache 服务器中,则必须定义此指令。如果未为 CacheRoot
提供值,则会导致配置文件处理错误。 CacheDirLevels
和 CacheDirLength
指令定义指定根目录下目录的结构。
CacheRoot c:/cacheroot