gpt4 book ai didi

php - 在 PHP 中缓存辩论/论坛条目

转载 作者:可可西里 更新时间:2023-11-01 07:37:42 25 4
gpt4 key购买 nike

只是寻求一条建议。在我们的一个网页上,我们有一个辩论/论坛网站。每次用户请求辩论页面时,他/她都会获得所有主题的列表(以及他们的答案数量等)。

当用户请求特定主题/主题时,该主题的所有答案都将显示给用户,其中包含用户名、用户图片、年龄、来自答案发布者的论坛帖子总数。

当前每次访问页面时都使用 MySQL 查询检索所有内容。但是,这开始变得非常缓慢(尤其是对于大线程,+3000 个答案)。

我想以某种方式缓存辩论条目,以加快此过程。但是问题是,如果我自己缓存条目、帖子数量等(当然是动态的),将不会总是最新的。

当这样的东西更新时,有没有什么聪明的方法来缓存页面/重新缓存它们? :)

提前致谢,菲舍尔

最佳答案

您应该根据缓存的数据为缓存创建标签或名称。

例如,对于名为 Jake's Post 的帖子,您可以创建名称的 md5,这将为您提供标签 49fec15add24931728652baacc08b8ee

现在针对标签 49fec15add24931728652baacc08b8ee 缓存与此帖子有关的内容和所有内容。当帖子更新或添加评论时,转到缓存并删除与 49fec15add24931728652baacc08b8ee 相关的所有内容。

现在没有缓存,当下一个访问者到达新帖子时,它将被重建。

您可以通过为每个帖子设置多个标签来进一步分割。例如,您可以为评论和答案添加标签,添加评论时删除评论标签,而不是答案标签。这减少了服务器在重建缓存时必须做的工作,因为现在只缺少注释。

有许多库和框架可以帮助您做到这一点。

jack

编辑

我会使用文件来存储数据,更具体地说是页面的 HTML 输出。然后,您可以执行以下操作:

if(file_exists($tag))
{
// Load the contents of the cache file here and output it
}
else
{
// Do complex database look up and cache the file for later
}

请记住,像 Zend 这样的框架内置了这类东西。我会认真考虑使用框架。

关于php - 在 PHP 中缓存辩论/论坛条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11861688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com