如何缓存(在我的服务器上缓存)像PHP编写的Stackoverflow这样的站点

时间:2012-06-07 12:03:40

标签: php caching

我试图让自己的SO练习,基本上完成了基础知识。我之前从未缓存过任何javascript和css。我试过搜索SO和谷歌,但我不清楚以下问题。

我还想知道应该在服务器上缓存哪些页面。即我应该缓存像问题/ 45 / title-goes-here这样的页面吗?

如果每个人的用户名不同,如何缓存标题部分?

我是否将整个文件转储到每个问题的文本文件中?这似乎不太实际。

如何设置后退按钮使用的缓存页面。

很抱歉,如果答案很明显,但我已经研究过,但是没有得到答案。

由于

1 个答案:

答案 0 :(得分:1)

您的缓存系统基本上是一组工具,可以快速查找生成“昂贵”并且变化不大的内容。

要确定应缓存的内容,您需要到目前为止研究您的工作,并找出哪些部分占用的CPU或数据库时间最多。然后缓存那些。

对于缓存StackOverflow,可能有一种策略可能是为每个问题的HTML生成一个缓存对象,包括之后可以使用JavaScript填充的s。查找问题和标签的过程可能比查找包含两者的单个缓存条目更耗时。

对于您的标题,这也是JavaScript的候选者,只要您不介意跳过用户界面的优雅降级。标题的缓存用户名部分可能类似于:

<div id="username"></div>

然后,由未缓存的内容生成的JavaScript将使用个性化内容“填空”。

希望这有帮助。