首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有历史意义的独特视图计数

具有历史意义的独特视图计数
EN

Stack Overflow用户
提问于 2015-05-23 02:00:38
回答 1查看 213关注 0票数 1

我正在寻找一种简单的方法来存储和检索一个计数,不管用户多次查看一个唯一的帖子/页面。事后/1帖/2。我也对一篇文章的总浏览量感兴趣。

我认为我应该如何实施:

  1. 创建具有列的userpostview表(userid、postid、datecreated)
  2. 每次使用userid创建userpostview行,如果记录不存在,则为postid
  3. 检索用户of == X的行总数
  4. 检索postid == Y中行的总数

对于一个有几行行的小规模应用程序来说是可以的。但我预计每天阅读不同帖子的不同用户比例会很高。因此,userpostview表将比用户表或post表大得多。从长远来看,我相信这将是一个性能问题,对吗?例如,连续调用计数会减慢读取速度。我想知道在这种情况下缓存计数是否理想。还是应该有一个单独的桌子来存放一个增量计数器?

我使用的是带有sqlalchemy后端postgresql的烧瓶。这足够了吗?

然而,在做了一些研究之后,我看到了这个:

https://www.youtube.com/watch?v=G-lGCC4KKok

http://highscalability.com/blog/2012/3/26/7-years-of-youtube-scalability-lessons-in-30-minutes.html

我应该“假装”柜台吗?有没有更好的方法?欢迎任何更好或更好的建议。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-23 02:50:45

你是记录用户与应用程序的交互

日志记录可以是这样存储数据的好方法。只需在您的Flask应用程序中设置一个简单的记录器,每次用户加载post页面时都会创建一个日志。将user_id、post_id和时间戳保存到日志文件中。(注意:如果您担心日志文件变得太大,可以使用配置记录器以每天启动一个新文件)。

设置日志之后,可以使用实用程序解析日志,并向您提供与您所要求的结果相同的聚合结果。或者您甚至可以使用Python解析日志并运行自定义的“查询”。

我建议使用麋鹿堆。Logstash、Elasticsearch和Kibana是免费的开源项目。在一个小时内,您就可以在您的网站上获得用户活动的漂亮图表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30408149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档