【问题标题】:PHP: How to do caching?PHP:如何进行缓存?
【发布时间】:2010-07-06 17:38:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: php caching


    【解决方案1】:

    在您访问缓存的频率(以及缓存对谁有用)与您想要缓存多少以及生命周期应该有多大之间总是需要权衡取舍。

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

    关于检索用户帖子,如果您希望它尽可能实时,那么您不能缓存这些帖子(或者如果您这样做,您将不得不使该用户曾经发布过的所有缓存线程无效。 ..)。从数据库中检索帖子计数(如果操作正确)不应该太费力。您可以只缓存一个模板,其中帖子数留空以便稍后填写,或者您可以使用 Javascript 做一些技巧。

    【讨论】:

    • 在每个帖子文件上执行 str_replace 或 sprintf 以添加帖子计数等是否是一个有效的建议?
    • @Luke 当然,虽然我怀疑构建 HTML 表格会成为大多数 Web 应用程序的瓶颈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    • 2019-02-03
    相关资源
    最近更新 更多