<-
Apache > HTTP 服务器 > 文档 > 版本 2.4 > 模块

Apache 模块 mod_cache_disk

可用语言:  en  |  fr  |  ja  |  ko 

描述HTTP 缓存过滤器的基于磁盘的存储模块。
状态扩展
模块标识符cache_disk_module
源文件mod_cache_disk.c

摘要

mod_cache_diskmod_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 配置,因为当从缓存中提供请求时,相应的设置不可用。

Support Apache!

指令

Bugfix 检查清单

另请参阅

top

CacheDirLength 指令

描述子目录名称中的字符数
语法CacheDirLength length
默认值CacheDirLength 2
上下文服务器配置,虚拟主机
状态扩展
模块mod_cache_disk

CacheDirLength 指令设置缓存层次结构中每个子目录名称的字符数。它可以与 CacheDirLevels 结合使用以确定缓存层次结构的近似结构。

CacheDirLength 的高值与 CacheDirLevels 的低值相结合将导致相对平坦的层次结构,在每个级别都有大量的子目录。

CacheDirLevels* CacheDirLength 的结果不能高于 20。

top

CacheDirLevels 指令

描述缓存中子目录的级别数。
语法CacheDirLevels levels
默认值CacheDirLevels 2
上下文服务器配置,虚拟主机
状态扩展
模块mod_cache_disk

CacheDirLevels 指令设置缓存中子目录的级别数。缓存数据将保存在指定 CacheRoot 目录下此目录级别数的目录中。

CacheDirLevels 的高值与 CacheDirLength 的低值相结合将导致相对深的层次结构,在每个级别都有少量子目录。

CacheDirLevels* CacheDirLength 的结果不能高于 20。

top

CacheMaxFileSize 指令

描述要放入缓存中的文档的最大大小(以字节为单位)
语法CacheMaxFileSize bytes
默认值CacheMaxFileSize 1000000
上下文服务器配置,虚拟主机,目录,.htaccess
状态扩展
模块mod_cache_disk

CacheMaxFileSize 指令设置要考虑存储在缓存中的文档的最大大小(以字节为单位)。

CacheMaxFileSize 64000
top

CacheMinFileSize 指令

描述要放入缓存中的文档的最小大小(以字节为单位)
语法CacheMinFileSize bytes
默认值CacheMinFileSize 1
上下文服务器配置,虚拟主机,目录,.htaccess
状态扩展
模块mod_cache_disk

CacheMinFileSize 指令设置要考虑存储在缓存中的文档的最小大小(以字节为单位)。

CacheMinFileSize 64
top

CacheReadSize 指令

描述在将数据发送到下游之前要读取和缓存的文档的最小大小(以字节为单位)
语法CacheReadSize bytes
默认值CacheReadSize 0
上下文服务器配置,虚拟主机,目录,.htaccess
状态扩展
模块mod_cache_disk

CacheReadSize 指令设置在将数据发送到客户端之前从后端读取的最小数据量(以字节为单位)。默认值为零,导致所有大小的数据读取都会立即在下游传递到客户端。将其设置为更高的值会导致磁盘缓存至少缓冲此数量,然后再将结果发送到客户端。这可以提高从反向代理缓存内容时的性能。

此指令仅在将数据保存到缓存时生效,而不是从缓存中提供数据时生效。

CacheReadSize 102400
top

CacheReadTime 指令

描述读取时应经过的最小时间(以毫秒为单位),然后才将数据发送到下游
语法CacheReadTime milliseconds
默认值CacheReadTime 0
上下文服务器配置,虚拟主机,目录,.htaccess
状态扩展
模块mod_cache_disk

CacheReadTime 指令设置在尝试将数据发送到下游客户端之前应经过的最小时间量。在此期间,数据将在发送结果到客户端之前进行缓冲。这可以提高从反向代理缓存内容时的性能。

默认值为零,禁用此选项。

此指令仅在将数据保存到缓存时生效,而不是从缓存中提供数据时生效。建议将此选项与 CacheReadSize 指令一起使用,以确保如果数据到达速度快于预期,服务器不会过度缓冲。

CacheReadTime 1000
top

CacheRoot 指令

描述存储缓存文件的目录根目录
语法CacheRoot directory
上下文服务器配置,虚拟主机
状态扩展
模块mod_cache_disk

CacheRoot 指令定义磁盘上包含缓存文件的目录的名称。如果 mod_cache_disk 模块已加载或编译到 Apache 服务器中,则必须定义此指令。如果未为 CacheRoot 提供值,则会导致配置文件处理错误。 CacheDirLevelsCacheDirLength 指令定义指定根目录下目录的结构。

CacheRoot c:/cacheroot

可用语言:  en  |  fr  |  ja  |  ko 

top

评论

通知
这不是问答部分。此处放置的评论应针对改进文档或服务器的建议,如果它们已实施或被认为无效/主题无关,则可能被我们的版主删除。有关如何管理 Apache HTTP Server 的问题应发送到我们的 IRC 频道 #httpd(在 Libera.chat 上)或发送到我们的 邮件列表