gpt4 book ai didi

python - 具有历史记录的唯一观看次数

转载 作者:行者123 更新时间:2023-11-29 13:27:49 26 4
gpt4 key购买 nike

我正在寻找一种简单的方法来存储和检索用户查看独特帖子/页面的次数。事后/1 后/2。我也对帖子的总浏览量感兴趣。

我认为我应该如何实现:

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

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

我正在使用带有 sqlalchemy 后端的 flask 到 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

我应该“伪造”柜台吗?有更好的方法吗?欢迎任何更好或改进的建议。

提前致谢。

最佳答案

你是logging user interactions with your application

日志记录是存储此类数据的好方法。只需在您的 Flask 应用程序中设置一个简单的记录器,它会在用户每次加载帖子页面时创建一个日志。将 user_id、post_id 和时间戳保存到日志文件中。 (注意:如果您担心日志文件变得太大,您可以 configure the logger to start a new file every day )。

设置日志记录后,您可以使用实用程序来解析日志并为您提供与您要求的结果类似的汇总结果。或者您甚至可以使用 Python 解析日志并运行自定义“查询”。

我建议使用 ELK stack . Logstash、Elasticsearch 和 Kibana 是免费的开源项目。在一个小时内,您就可以得到用户在您网站上的事件的精美图表和图形。

关于python - 具有历史记录的唯一观看次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408149/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com