代码之家  ›  专栏  ›  技术社区  ›  sam

如何进行缓存?

  •  1
  • sam  · 技术社区  · 16 年前

    所以我想为我正在构建的一个论坛做缓存,我想了解最好的方法。我一直在做一些阅读和Zend框架处理缓存的方式( here )很好地解释了这个想法,但有一些事情我不确定。

    假设我想要缓存文章,我应该简单地将查询的内容“转储”到一个文件中,然后从中检索,还是应该围绕数据构建布局,然后简单地返回文件的内容?我将如何处理用户信息,传统上,标准论坛的显示包括一个用户在一个帖子旁边的总后计数,这可能会经常改变(假设每页有30个帖子),这意味着我必须不断清除缓存,这看起来是非常多余的。

    我找不到任何关于我应该如何处理这一问题的文章,我有兴趣了解更多,是否有人有任何见解或相关文章可以帮助?

    1 回复  |  直到 16 年前
        1
  •  3
  •   Artefacto    16 年前

    在您访问缓存的频率(以及缓存的有用者)和您想要缓存的数量以及生存期应该有多大之间总是有一个权衡。

    您应该确定应用程序中的瓶颈。如果是查询阻碍了性能,那么一定要缓存查询。如果它正在构建页面的某些部分,则缓存这些部分。

    至于检索用户日志,如果您希望它尽可能的活跃,那么您就不能缓存这些日志(或者,如果您这样做了,则必须使该用户发布过的所有缓存线程失效…)。从数据库中检索日志计数(如果做得正确)不应该太费力。您可以缓存一个模板,其中post count保留为空以便稍后填充,也可以使用javascript进行一些技巧。