gpt4 book ai didi

php - 如何设计高效的Like系统?

转载 作者:行者123 更新时间:2023-11-29 11:28:52 26 4
gpt4 key购买 nike

我正在尝试为网站的现有评论部分创建一个类似于 Facebook 的 Like/Unlike 系统,并且我需要设计该系统的帮助。

目前,网站上的每个产品都有评论部分,成员(member)可以发表评论并点赞。我需要知道每个成员发表了多少条评论以及他的每条评论得到了多少个点赞。当然,出于分析目的,我需要知道谁也喜欢哪些评论(部分原因是为了防止用户多次喜欢某个评论)。

对当前评论模块实现 Like 系统的简单方法是在数据库中创建一个新表,该表具有 CommentID 和 UserID 的外键。然后,对于用户对评论的每一个“赞”,我都会在这个新表中插入一行,其中包含目标评论 ID 和用户 ID。

虽然这可能有效,但大量的评论和用户将导致该表快速增长,并且从这个巨大的表中检索记录和进行计数将变得缓慢且低效。我可以对任一列建立索引,但我不知道它的效果如何。该网站有超过一百万条评论。

我正在使用 PHP 和 MySQL。对于这样一个拥有庞大数据库的系统,我应该如何设计一个Like系统,使其更加优化和稳定?

最佳答案

为了可扩展性,请勿将计数列与其他内容包含在同一个表中。这是“垂直分区”有益的罕见情况。为什么?喜欢/不喜欢会来得快速而激烈。如果执行递增/递减的代码命中用于其他内容的表(例如注释文本),则两者之间将出现 Not Acceptable 争用量。

本技巧是实现扩展到 Facebook 级别的众多步骤中的第一步。其他技巧将不是来自免费论坛,而是来自您必须雇用才能达到该水平的聪明工程师团队。 (提示:分片、缓冲、显示估计等)

关于php - 如何设计高效的Like系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37750747/

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