我已经看到了几个关于如何保护和防止滥用排名系统(如盯着电影、产品等)的问题,但没有实际实施它。为了简化这个问题,我不关心安全性,访问这个系统的人都是值得信赖的,如果发生这种情况,滥用排名系统是微不足道的,而且比原因更容易恢复。无论如何,我很好奇如何存储选票。
一个想法是有一个投票表,记录每次投票,然后立即,在预定时间,或在产品的每次加载时(这似乎效率低下,但可能不是)投票被统计并在 0 和 5 之间加倍更新到产品表中的产品条目中。
或者,我将总分和投票数存储在产品表中,然后在显示时将其除以,然后将投票添加到总数中,并在有人投票时增加投票数。
或者有没有更好的方法来做到这一点,我还没有想到?我有点想在产品表中有一个“评级”字段,但想不出没有一些额外数据来更新投票的方法。
同样,数据完整性很重要,但绝不是必要的,有什么想法吗?