Apache的缓冲概述 - 缓冲文件(CacheFile)

存在于Apache中最基本的缓冲方式是由mod_file_cache实现的文件句柄(file-handle)缓冲。

胜于缓存文件内容本身,这个缓冲区维护一张打开的文件描述符表,用于保存在配置文件中使用CacheFile指令指定的文件的文件句柄。

CacheFile指令指示Apache在启动时打开某个文件并且为所有之后对这个文件的访问重复使用这个文件句柄。CacheFile /usr/local/apache2/htdocs/index.html 如果你打算使用这种方式缓存大量的文件句柄,你必须确保操作系统对同时打开的文件的数量限制是足够的。

虽然使用CacheFile不会导致文件的内容被缓存,但是将会导致在Apache运行期间所有对文件的更改都不会生效。

用于提供服务的文件的内容将从Apache启动以来一直保持不变。

如 果在Apache运行期间文件被删除了,Apache将会持续维护一个打开的文件描述符并且使用Apache启动时文件的内容来提供服务。

这个通常也意味 着虽然文件已经被删除,并且不在文件系统中显示出来,但是释放的空间并不会被覆盖,直到Apache被停止、文件描述符被关闭。CacheEnable fd mod_mem_cache也提供了一个文件句柄缓冲方案,可以通过CacheEnable指令来启用。CacheEnable fd / 与mod_cache的方案相比,这种方案更加智能:缓存内容失效以后相应的句柄将不再被维护。