mod_cache_disk
描述: | 用于 HTTP 缓存过滤器的基于磁盘的存储模块。 |
状态: | 延期 |
模块标识符: | cache_disk_module |
源文件: | mod_cache_disk.c |
摘要
mod_cache_disk为mod_cache实现了基于磁盘的存储 manager。
缓存响应的 headers 和 body 分别存储在磁盘上,在从缓存 URL 的 md5 哈希派生的目录结构中。
可以同时存储多个内容协商响应,但是该模块尚不支持部分内容的缓存。
通过在头文件中存储正文文件的设备和 inode numbers,无需锁定即可实现对头文件和正文 files 的原子缓存更新。这会产生副作用,即手动移动到缓存中的缓存条目将被忽略。
提供htcacheclean工具是为了列出缓存的 URL,删除缓存的 URL,或者将磁盘缓存的大小保持在 and/or inode 限制范围内。该工具可以按需运行,也可以进行守护,以提供对目录大小的连续监视。
注意:
mod_cache_disk需要mod_cache的服务,必须在 mod_cache_disk 之前加载。
注意:
mod_cache_disk使用 sendfile feature 在平台支持时从缓存中提供 files,并在使用EnableSendfile时启用.file。但是,EnableSendfile会忽略EnableSendfile的 per-directory 和.htaccess configuration,因为当从缓存提供请求时,模块无法使用相应的设置。
CacheDirLength 指令
描述: | 子目录名称中的字符数 |
句法: | CacheDirLength length |
默认: | CacheDirLength 2 |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_cache_disk |
CacheDirLength
指令设置缓存层次结构中每个子目录 name 的字符数。它可以与CacheDirLevels
结合使用,以确定缓存层次结构的近似结构。
CacheDirLength
的高值与CacheDirLevels
的低值相结合将导致相对平坦的层次结构,每个 level 都有大量子目录。
CacheDirLevels*CacheDirLength
的结果不得高于 20。
CacheDirLevels 指令
描述: | 缓存中子目录的级别数。 |
句法: | CacheDirLevels levels |
默认: | CacheDirLevels 2 |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_cache_disk |
CacheDirLevels
指令设置缓存中的子目录级别数。缓存的数据将保存在CacheRoot目录下的许多目录级别。
CacheDirLevels
的高值与CacheDirLength
的低值相结合将导致相对较深的层次结构,每个 level 都有少量子目录。
CacheDirLevels
* CacheDirLength的结果不得高于 20。
CacheMaxFileSize 指令
描述: | 要放入缓存中的文档的最大大小(以字节为单位) |
句法: | CacheMaxFileSize bytes |
默认: | CacheMaxFileSize 1000000 |
Context: | server config,virtual host,directory,.htaccess |
状态: | 延期 |
模块: | mod_cache_disk |
CacheMaxFileSize
指令设置要考虑在缓存中存储的文档的最大大小(以字节为单位)。
CacheMaxFileSize 64000
CacheMinFileSize 指令
描述: | 要放入缓存的文档的最小大小(以字节为单位) |
句法: | CacheMinFileSize bytes |
默认: | CacheMinFileSize 1 |
Context: | server config,virtual host,directory,.htaccess |
状态: | 延期 |
模块: | mod_cache_disk |
CacheMinFileSize
指令设置要考虑在缓存中存储的文档的最小大小(以字节为单位)。
CacheMinFileSize 64
CacheReadSize 指令
描述: | 在向下游发送数据之前要读取和缓存的文档的最小大小(以字节为单位) |
句法: | CacheReadSize bytes |
默认: | CacheReadSize 0 |
Context: | server config,virtual host,directory,.htaccess |
状态: | 延期 |
模块: | mod_cache_disk |
CacheReadSize
指令设置在将数据发送到 client 之前从后端读取的最小数据量(以字节为单位)。默认值为零会导致读取任何大小的所有数据在到达时立即向下游传递给 client。将此值设置为更高的 value 会导致磁盘缓存在将结果发送到 client 之前至少缓冲此数量。当从反向代理缓存内容时,这可以改善 performance。
该指令仅在将数据保存到缓存时生效,而不是从缓存提供的数据。
CacheReadSize 102400
CacheReadTime 指令
描述: | 在向下游发送数据之前读取时应该经过的最小 time(以毫秒为单位) |
句法: | CacheReadTime milliseconds |
默认: | CacheReadTime 0 |
Context: | server config,virtual host,directory,.htaccess |
状态: | 延期 |
模块: | mod_cache_disk |
CacheReadTime
指令设置在尝试向下游发送数据到 client 之前应该经过的最小经过时间 time。在 time 期间,数据将被缓冲,然后将结果发送到 client。当从反向代理缓存内容时,这可以改善 performance。
默认值为零会禁用此选项。
该指令仅在将数据保存到缓存时生效,而不是从缓存提供的数据。建议将此选项与CacheReadSize指令一起使用,以确保在数据到达速度超过预期时服务器不会过度缓冲。
CacheReadTime 1000
CacheRoot 指令
描述: | 存储缓存 files 的目录根目录 |
句法: | CacheRoot directory |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_cache_disk |
CacheRoot
指令定义磁盘上包含 cache files 的目录的 name。如果已将mod_cache_disk模块加载或编译到 Apache 服务器,则必须定义此指令。未能为CacheRoot
提供 value 将导致 configuration 文件处理错误。CacheDirLevels和CacheDirLength指令定义指定根目录下的目录结构。
CacheRoot c:/cacheroot