我正在用PHP构建一个相当大而复杂的CMS,我的计划是在它的某些部分实现缓存(可以为特定的页面/部分打开/关闭缓存)。经过一些研究后,我得出结论,使用URL将是查找和检索cahced文件的最佳实践。我的目的是实现一个“整页”解决方案,以避免对应该缓存的所有页面进行突出的查询缓存并缓存整个页面。
伪代码将如下所示(日期修改后排除):
$filename = md5($the_full_url);
if (file_exists($filename)) get_cached_file($filename);
else write_cached_file($filename);
这种方法可以被视为良好做法吗?
答案 0 :(得分:6)
我认为这取决于页面上是否有用户生成的内容,例如,如果我查看页面并且您查看页面,我们是否会获得不同的页面或同一页面?页面上是否有任何形式的“动态”内容。
如果页面不会在用户/用户的基础上更改,则整页缓存是最经济的。如果他们可以逐个用户更改,你可以通过[url.sessionid]缓存,如果没有,那么完整网址的缓存是好的。
另一种替代方法是缓存页面中可能保持不变的部分(例如博客条目)
最后有数据缓存,您只需在本地缓存数据库中的动态数据。
整个系统取决于您的要求。