0

我已经尝试制作自己的 SO 用于练习,并且基本上已经完成了基础知识。我从来没有缓存过比 javascript 和 css 更多的东西。我曾尝试搜索 SO 和谷歌,但我无法弄清楚以下问题。

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

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

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

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

对不起,如果答案很明显,但我已经研究过,只是不明白。

谢谢

4

1 回答 1

1

您的缓存系统基本上是一组工具,用于对生成“昂贵”且变化不大的事物进行快速查找。

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

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

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

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

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

希望这可以帮助。

于 2012-06-07T12:16:42.443 回答