我有一个Posts
表,其中包含字段title
,contents
,rating
,no_of_comments
,author_id
。当用户向帖子投票时,评级字段递减,反之亦然。
我也在缓存显示查询,显示最近的帖子,它与表Authors
有关。问题是评级领域需要经常更新,即有很多赞成票和赞成票。所以每次用户上/下帖时我都需要重建缓存。我相信这是一种浪费,因为整个缓存数据中只有一个字段会更新。所以我想知道这个问题是否有任何解决方法。顺便说一句,我正在使用基于文件的缓存。
答案 0 :(得分:0)
好的。因此,您的解决方案是向执行以下操作的PHP打开ajax请求:
<强> UNTESTED 强>
while (array_pop(mysql_fetch_array(mysql_query("SELECT count(*) FROM `posts` WHERE `ID` = '$latest_id_prediction'"))) == 0) {
sleep(10);
}
echo array_pop(mysql_fetch_array(mysql_query("SELECT * FROM `posts` WHERE `ID` = '$latest_id_prediction'");
如果有新帖子,这将每10秒检查一次,如果有,它将回显帖子信息。你所做的是在没有超时的情况下向这个页面发出ajax请求,并在你得到回复时更新页面。收到回复后,请打开一个新连接。
答案 1 :(得分:0)
如果您对数据结构进行了规范化,则可以缓存静态部分 - 即“发布”,具有“发布属性”或您决定使用的任何动态。
评论数量应通过计算“评论”表中的评论数量得出。
一个可靠的数据结构将在这里帮助你。