Unique view count with history
我正在寻找一种简单的方法来存储和检索一个计数,不管用户查看了多少次独特的文章/页面。事后/1事后/2。我对一篇文章的总浏览量也很感兴趣。
我认为我应该如何实现这一点:
对于一个有几行的小规模应用程序来说是可以的。但我预计每天阅读不同文章的不同用户比例很高。因此,userpostview表将比用户表或post表大得多。从长远来看,我相信这将是一个性能问题,对吗?例如,连续调用计数可能会减慢读取速度。我想知道在这种情况下缓存计数是否理想。还是应该有一个单独的表来存放递增计数器?
我使用的是带有sqlachemy后端的flask,用于PostgreSQL。这足够吗?
然而,在做了一些研究之后,我看到了:
https://www.youtube.com/watch?V= G-LGCK4KKOK
http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html
我应该假装柜台吗?有更好的方法吗?欢迎提出任何更好或改进的建议。
事先谢谢。
是否记录用户与应用程序的交互?
日志记录是这样存储数据的好方法。只需在flask应用程序中设置一个简单的日志记录器,它在用户每次加载一个日志页时创建一个日志。将用户标识、发布标识和时间戳保存到日志文件中。(注意:如果您担心日志文件太大,可以配置日志记录器每天启动一个新文件)。
在设置日志记录之后,可以使用实用程序解析日志,并提供与所需的结果类似的聚合结果。或者您甚至可以使用python解析日志并运行定制的"查询"。
我建议使用麋鹿堆。logstash、elasticsearch和kibana是免费的开源项目。一小时之内,你就可以在你的网站上看到用户活动的漂亮图表。