大型新闻网站点击量的技术方案咨询

网友提问:

1.问题主题

如何记录用户发表的文章的点击量

2.问题补充描述

当并发非常小的时候可以直接存在这个文章表里面,叫一个click_count,但是如果网站的访问量很高,那这样数据库肯定要累死,各位大牛有什么好的解决办法么?

8.5.3

mysqlops回答:

我们只讨论访问量很高的情况,例如:每天1亿及以上PV的新闻网站,建议做法可以分为2种方式:

1.使用缓存系统,比如Redis非常适合做计数器,异步的方式同步到MySQL数据库 或者Redis直接持久化的方式;

2.变相直接更新数据库的方式,每个应用程序服务都有一个自己内部的全局计数器,默认每隔10秒或者缓存计数达到10则一次性更新同步到数据库中,也即采用延迟非实时更新的方式,同时把计数器单独保存到一张表中,设计成父子表的模式;

上述2种方式作者都曾实施过,典型的场景是微博类的统计量太大,故采用第一种方式;阿里旺旺的新闻网站则采用第二种方式。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>