我有一个网站,基本上只显示内容,没有任何表格和后期处理。
该网站基于 PHP 并托管在共享主机上。它很少改变。
我想为此网站启用缓存。
它是共享托管,所以我需要一个解决方案:
- 不使用 Memcached
- 不需要将我的网站移至 VPS
- 不要使用APC或其他东西
所以基本上我想要完成的是将每个子网站缓存为 HTML 并告诉 PHP 获取当前子网站的 HTML 缓存版本 5 分钟并将其显示给用户。并在5分钟后刷新缓存。
我一直在互联网上寻找一段时间,有一些教程和框架支持这种奇怪的缓存。
但我需要的只是一个非常易于使用的好库。
我想象它以这种方式工作:
<?
if (current_site_cache_is_valid())
{
display_cached_version();
die;
}
..mywebsite rendering code
?>
听起来很简单,但我希望一些优秀的开发人员以前做过这种类型的库。那么您知道这样的现成可用且实施起来不太耗时的解决方案吗?
这就是我通常这样做的方式,但是我不知道你的 URL 设计,也不知道你的目录/文件布局。
I do this with .htaccess
and a mod_rewriteDocs http://httpd.apache.org/docs/current/mod/mod_rewrite.html.
网络服务器检查缓存的 HTML 文件是否存在,如果存在,则传送该文件。您还可以检查它的年龄。
If it's too old or if it does not exists your PHP script(s?) is started. At the beginning of your script you start the output bufferDocs http://php.net/ob_start. At the end of your script, you obtain the output buffer and you place the content into the cache file and then you output it.
该解决方案的好处是,如果存在静态文件,apache 将提供静态文件,并且无需调用 PHP 进程。如果您在 PHP 本身内完成这一切,您将不会获得这种好处。
我什至会更进一步,运行一个 cron 作业来删除旧的缓存文件,而不是在内部进行时间检查.htaccess
。完成后,您可以使重写变得不那么复杂,以更喜欢.php.cached
文件而不是.php
file.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)