如果你的网站有几个文件的访问非常频繁而又不经常变动,则可以在 Apache 启动的时候就把它们的内容缓存到内存中(当然要启用内存缓存系统),使用的是 mod_file_cache 模块,具体如下:
有多个文件可以用空格格开MMapFile /var/www/html/index.html /var/www/html/articles/index.html上面是缓存文件的内容到内存中,除此之外,还可以只缓存文件的打开句柄到内存中,当有请求进来的时候,Apache 直接从内存中获取文件的句柄,返回内容,和MMapFile 指令很像,具体如下:CacheFile /var/www/html/index.html /var/www/html/articles/index.html
上面两个指令所缓存的文件如果有修改的话,必须重启 Apache 或使用 graceful 之类的方式强制使 Apache 更新缓存数据,否则当用户访问的时候获取的不是最新的数据。
有时候需要根据某些特殊的头部信息来决定是否进行缓存,则可以使用如下指令:
当头部信息中包含 Set-Cookie 时则跳过不进行缓存操作CacheIgnoreHeaders Set-Cookie有时候需要缓存的时候跳过 URL 中的查询字符串?使用如下指令:CacheIgnoreQueryString On更多指令请参考:http://www.itlearner.com/code/apache2.2/caching.html
Apache 的缓存系统不仅可以缓存服务器本身的文件,也可以缓存通过代理得到的内容。
善用 Apache 的缓存功能,可以让你的网站速度提升不少。
做为一个网站来说,虽然可用的各种缓存方案很多,但在 Web 服务器层做缓存的效率还是很值得一试的。