如何缓存同一页面的2个不同内容

时间:2012-07-16 16:42:43

标签: php caching

我想知道什么是缓存php-output的最佳方法,其中登录用户和访客的内容不同。 “不同”表示客人看到较少的文字,没有评论,并且该页面上的功能较少(例如,他们无法将当前页面标记为收藏)。

我可以为每个“模式”创建一个文件,在该模式中可以访问页面。所以我必须检查用户是否登录,然后决定我服务的缓存文件 另一方面,我可以为每个页面只创建一个文件,并在此文件中使用php-code来决定打印出哪些内容(或更好,多少)。

我更喜欢第二种选择,因为这意味着内容或部分内容不会存储两次。此外,我可以确定没有用户可以通过调用缓存文件来访问完整的内容(无论如何它都使用名称中的哈希)。但是,如果我在考虑中包含所有相关事实,我不确定。 我想知道我是否错过了一些(dis-)优势或其他可能的方法。

1 个答案:

答案 0 :(得分:1)

我更喜欢第一种方式,它还使您能够以不同方式缓存这些视图,例如。添加新注释时,只需要重新呈现成员缓存;还有第二个强制你生成代码,后面包括,听起来像php-selfmodifying-code,hell to debug