关于nodeclub 代码中统计话题浏览数量的疑问
发布于 1天前 作者 jerrywu55 124 次浏览 来自 问答
topic.visit_count += 1;
topic.save();

每次访问话题详情页面的时候,对话题的visit_count 做 ++ 而不是通过update 方法 $inc 来原子性增加,

这样当大量用户并发访问页面的时候,好像是会出现数据 visit_count 做++ 时,真实数据已经比这个数据大了。

这样就造成了数据统计少了很多。

7 回复

没人么。。。

不清楚nodeclub。 给你提供一个思路。 在用户请求页面的时候,然后在回应用户的请求前一刻,处理浏览数量并保存数据库。

@cismous 我觉得最好还是用 内存数据库来计算这个数据

对的,这是一个缺陷…会导致浏览数出现非原子性增加,从而数字变少。

@alsotang 嗯,我现在项目中用$inc 来 做加法,就是并发的时候应该会影响性能,后续可能要用 redis inc 来实现计数

回到顶部