Apache文件缓存

问题描述:

apache如何处理某些文件的缓存,并且是否可以明确指出某些文件应该通过给定主机或虚拟主机的标准配置文件进行比其他文件更积极的缓存?Apache文件缓存

为了把它放在上下文中,我在各种XML文件中保留了很多网站内容,并且我希望能够说这个文件将被大量使用,并因此尽可能地缓存它。 。? apache是​​否智能地和即时地做这种事情?它会观察哪些文件比其他文件更受欢迎,并尝试适当地匹配缓存命中..?

很多问题在一个,但基本的想法应该足够清楚。

编辑:要清楚,这些是由PHP加载和解释的资源文件 - 但作为一个进程的PHP是在apache内部产生的..对吧?请帮忙!

  1. Apache是​​只是一个Web服务器。它不知道应用程序的具体内容,因此缓存结果是应用程序的责任。
  2. 您可以在apache中使用应用程序未知模块 - mod_cache。另请参阅文章Caching Dynamic Content with Apache httpd中的配置示例。这个模块允许你指定什么应该被缓存,哪些不应该被缓存。
  3. 此外,您可以使用一些PHP特定的缓存机制,例如Alternative PHP Cachememcached
+0

例如,当Apache内部的PHP请求使用资源(例如脚本,xml或其他)时,请求将被处理并源自Apache,对吧?因此,如果您将Apache配置为使用缓存扩展,这也适用于任何PHP资源请求。 – dmp 2010-03-17 10:51:28

+2

Apache仅将来自用户的请求传递给您的PHP脚本并返回到用户生成的内容。 Apache是​​不知道你的域区,业务规则等的 如果产生可以被缓存的内容(如在计算器这个问题 - 它几乎总是确定的,如果下一个请求将无法获得最新的信息),那么你可以配置Apache以缓存生成可缓存内容的特定url。 如果您的生成内容应该安全并且/或者涉及机密信息(例如,支付系统中的帐户信息页面),那么缓存它是错误的。 – uthark 2010-03-17 18:20:59

+0

回答了我的问题,谢谢:) – dmp 2010-03-18 09:19:32

如果您直接从Apache提供XML文件,而没有插入CGI脚本或语言模块(如PHP),则应查看mod_file_cache。从你的描述中,我认为这就是你要找的。

+0

它很有趣,但XML是通过PHP解析的,所以我不确定这是否特别是解决方案。 – dmp 2010-01-17 14:46:40