Php 正在通过URL进行缓存';这是个好习惯吗?
我正在用PHP构建一个相当大和复杂的CMS,我的计划是在它的某些部分实现缓存(有可能为特定的页面/部分打开/关闭缓存)。经过一些研究,我得出结论,使用URL将是定位和检索cahced文件的最佳实践。我的意图是实现一个“整页”解决方案,以避免对所有应该缓存的页面进行突兀的查询和缓存整页 伪代码如下所示(不包括修改日期):Php 正在通过URL进行缓存';这是个好习惯吗?,php,url,caching,content-management-system,Php,Url,Caching,Content Management System,我正在用PHP构建一个相当大和复杂的CMS,我的计划是在它的某些部分实现缓存(有可能为特定的页面/部分打开/关闭缓存)。经过一些研究,我得出结论,使用URL将是定位和检索cahced文件的最佳实践。我的意图是实现一个“整页”解决方案,以避免对所有应该缓存的页面进行突兀的查询和缓存整页 伪代码如下所示(不包括修改日期): 这种方法可以被认为是良好的做法吗?我认为这取决于页面上是否有用户生成的内容,例如,如果我查看页面,而你查看页面,我们是获得不同的页面还是同时获得相同的页面?页面上是否有任何形式的
这种方法可以被认为是良好的做法吗?我认为这取决于页面上是否有用户生成的内容,例如,如果我查看页面,而你查看页面,我们是获得不同的页面还是同时获得相同的页面?页面上是否有任何形式的“动态”内容 如果页面不打算按用户/用户进行更改,则整页缓存是最经济的。如果它们可能会逐个用户进行更改,则可以通过[url.sessionid]进行缓存,如果不这样做,则可以通过完整url进行缓存 另一种方法是缓存页面中可能保持不变的部分(例如博客条目) 最后是数据缓存,您只需在本地缓存数据库中的动态数据
整个系统取决于您的需求 其想法是使用“整页”的思想每隔X分钟缓存一次产品页面或论坛视图等内容,然后禁用“用户收件箱”或“您的论坛订阅”等内容的缓存(或者通过url+Sessiond启用查询缓存/存储缓存)。
$filename = md5($the_full_url);
if (file_exists($filename)) get_cached_file($filename);
else write_cached_file($filename);