首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Reddit 如何实现大规模的帖子浏览计数

到目前为止,投票得分和评论数量是特定的帖子活动的主要指标。然而,Reddit 有许多访问者在没有投票或评论的情况下阅读内容。我们希望建立一个能够捕捉到帖子阅读数量的系统。...为了实时保持准确的计数,我们需要知道某个特定的用户是否曾经访问过这个帖子。要知道这些信息,我们需要存储先前访问过每个帖子的用户组,然后在每次处理对该帖子的新访问时查看该组。...有几个热门的帖子有超过一百万的唯一读者!对于这种帖子,对于内存和 CPU 来说影响都很大,因为要存储所有的 ID,并频繁地查找集合,看看是否有人已经访问过。...这种情况通常发生在人们查看已经被 Redis 删除的旧帖的时候。...为了保持对可能从 Redis 删除的旧帖子的维护,Abacus 定期将 Redis 的完整 HLL 过滤器以及每个帖子的计数记录到 Cassandra 集群中。

1.3K90

【精选好文】Reddit如何统计每个帖子的浏览量

欢迎指正错误~ 我们想要更好的向用户展示 Reddit 的规模。为了这一点,投票和评论数是一个帖子最重要的指标。然而,在 Reddit 上有相当多的用户只浏览内容,既不投票也不评论。...3、显示的浏览量与真实浏览量间允许有小百分之几的误差。 4、Reddit 是全球访问量第八的网站,系统要能在生产环境的规模上正常运行,仅允许几秒的延迟。...这种实现方式对于访问量低的帖子是可行的,但一旦一个帖子变得流行,访问量剧增时就很难控制了。甚至有的帖子有超过 100 万的独立访客!...这通常会发生在网友访问较老帖子的时候,这时该帖子的计数器很可能已经在 Redis 中过期了。 为了存储存在 Redis 中的计数器过期的老帖子的浏览量。...总  结 我们希望浏览量可以让发帖者了解帖子全部的访问量,也帮助版主快速定位自己社区中高访问量的帖子。在未来,我们计划利用我们数据管道在实时方面的潜力来为 Reddit 的用户提供更多的有用的反馈。

1.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Discourse 发布帖子的时候下载图片到本地

    在默认情况,如果你的主题上有远程的图片的话,Discourse 会尝试现在到本地。 但是需要注意的是 Discourse 采用的是后台进程批量上传的方式。...在你首先对你的发布内容进行编辑的时候,图片还是会引用远程图片地址。...这里有 2 个参数, 第一个参数是: editing_grace_period 这个参数表示的是多少秒以后开始对图片下载到本地,默认是 300,对应的是 5 分钟。...那么在你内容创建并且发布后的 5 分钟后,Discourse 才会开始下载你内容中的图片到你的服务器上。...如果你不进行修改的话,你的 Discourse 站点将会在帖子发布后的 5 分钟开始下载图片到你的本地。 https://www.ossez.com/t/discourse/192

    92200

    Reddit 每日千亿请求背后的故事

    随着更多多样化的内容被发布到平台上,我们一开始采用的方法开始不堪重负。今天,Reddit 上的内容在几分钟之内就会完全改变;而与某位用户相关的内容可能会根据他们最近访问的内容而改变。...Reddit 上的用户群体比以往任何时候都更加多样化。具有各种各样的背景、信仰和处境的人们每天都会访问 Reddit。...这些数据集用于训练多任务深度神经网络模型,这些模型学习个性化实现所需的一个子任务集合 这些数据集包含一些在有限的时间范围内按每个用户、每个帖子汇总的特征(如上图所示)。...在这些数据集上,训练的模型会同时嵌入用户、subreddit、帖子和用户上下文,从而使它们能针对特定情况预测用户操作。...例如,对于每位 Reddit 用户,模型都可以分配一个用户对任意新帖子投票的概率,同时还可以分配一个用户订阅某个 subreddit 的概率,以及他们是否会对帖子发表评论的概率。

    40110

    N年前的旧代码,爆炸

    最近刚接到的任务是要在官网商城PC版上面添加一些功能。第一次体会到糟糕的代码是多么的可怕。不论是从项目结构,还是代码风格,经历了“几代人”的“锤炼”,早已风化腐朽多时。...由于历史原因,整个PC站点是由Nginx拼装的html页面,Js也是由Nginx合并后的,杂乱的各种命名,年久失修的公共库。...以及一个09年的弹框插件,据说是从一号店那边过来的,好在此人留下了QQ号,已经33岁了。。。 兼容性的代码,以及很多hack。...现在看来最大的坑是用的jsp模板渲染,函数调用都是直接写在DOM结构中,onclick事件触发。...到了今天,老代码不敢动,新代码只能不断的往上加,难以想象越是到后面会怎么样,每个刚接触的人都需要花费时间来阅读理解这些东西,后面的人更是不想接,这坑可真是大。eval,混乱的压缩,都是不规范导致的。

    30520

    使用Python Dash,主题分析和Reddit Praw API自动生成常见问题解答

    很多时候对与他们一直在搜索的内容无关的评论数量感到沮丧。以Reddit为例,主页上有很多帖子。所有的信息杂乱都很难跟踪。...这些Reddit帖子显示了一个论坛可能会在几天不活动的情况下带来多大的混乱 在本文中,将更多地了解如何从Reddit等论坛中提取信息更容易,更直观。...考虑以下知识矩阵 知识矩阵及其间的解决方案 在学习过程中存在四个知识领域。第一个涉及已知的知识,并且易于获取以帮助解决人们熟悉的问题。接下来将是已知的未知数,或者目前未发现但可访问的知识。...一个例子是查找有关python编程语法的信息,目前还不知道。第三种形式是未知的知识。这被定义为知道存在但不知道如何访问/获取的知识。一个例子是完成一项不知道如何开始/研究的任务。...Reddit Code获得某个subreddit频道 接下来使用以下元数据将hot_python导出到topics.csv 从Reddit Praw中提取帖子后检索的元数据 主题提取 本节说明如何在

    2.3K20

    GitHub遭黑客攻击:窃取数百源码并勒索比特币

    大数据文摘编辑部出品 五一过后,一些程序员查看自己托管到GitHub上的代码时发现,他们的源代码和Repo都已消失不见,上周四,一位Reddit用户写了一篇帖子,说他的存储库被黑了。...警告的帖子 https://www.reddit.com/r/git/comments/bk1eco/git_ransomware_anyone_else_been_a_victim/?...所以,损失或许没有想象的那么大。 成为受害者的用户大多是在他们的GitHub,GitLab和Bitbucket帐户使用了弱密码,或者忘记删除他们几个月没用过的旧应用程序的访问令牌,基本上都是这两种。...针对预防此类攻击,热心网友在帖子中给出建议 Daniel Ruf 说:之所以发生这种情况,是因为.git/config包含了远程URL,人们在其中添加了用户名,这种情况下不应该包含密码相关信息。...在今年4月份,Docker Hub数据库遭遇未授权人士访问,并导致约19万用户的敏感信息曝光在外,这批信息包含一部分用户名与散列密码,以及GitHub与Bitbucket存储库的登录令牌。

    1.2K30

    每个帖子的评论数

    每行可以是一个帖子或对该帖子的评论。 如果是帖子的话,parent_id 就是 null。 对于评论来说,parent_id 就是表中对应帖子的 sub_id。...编写 SQL 语句以查找每个帖子的评论数。 结果表应包含帖子的 post_id 和对应的评论数 number_of_comments 并且按 post_id 升序排列。...Submissions 可能包含重复的评论。您应该计算每个帖子的唯一评论数。 Submissions 可能包含重复的帖子。您应该将它们视为一个帖子。...表中 ID 为 3 的评论重复出现了,所以我们只对它进行了一次计数。 表中 ID 为 2 的帖子有 ID 为 5 和 10 的两个评论。 ID 为 12 的帖子在表中没有评论。...表中 ID 为 6 的评论是对 ID 为 7 的已删除帖子的评论,因此我们将其忽略。

    66800

    如何使用 Redis 实现大规模的帖子浏览计数

    来源:http://t.cn/EL1FB0M 统计方法 ---- 英文原文 本文翻译自全球访问量排名第8位的论坛Reddit博客上的文章,讲的是关于Reddit如何在海量浏览量下实时统计浏览量的。...img 本文我们就来聊一聊,Reddit 是如何在大规模下统计帖子浏览量的。 统计方法 我们对统计浏览量有四个基本的要求 计数必须达到实时或者接近实时。 每个用户在一个时间窗口内仅被记录一次。...帖子显示的统计数量的误差不能超过百分之几。 整个系统必须能在生成环境下,数秒内完成阅读计数的处理。 满足上面四个条件,其实比想象中要复杂。...Reddit的浏览统计系统,分为两个顺序执行的组成部分,其中的第一部分是,被称为Nazar的kafka队列『消费者』(consumer) ,它会从kafka中读取事件,然后将这些事件通过特定的条件进行过滤...为了让维护一个在Redis可能被剔除的旧文章,Abacus会定期的,从Redis中将HLL过滤数据,包括每篇文章的计数,全部写入到Cassandra集群中,当然为了避免集群过载,这个步骤会分为每篇文章10

    2.1K40

    高效爬取Reddit:C#与RestSharp的完美结合

    介绍在数据驱动的时代,网络爬虫已经成为获取网页数据的重要工具。Reddit,作为全球最大的社区平台之一,以其丰富的用户生成内容、广泛的讨论话题和实时的信息更新吸引了大量用户。...对于研究人员和开发者而言,Reddit提供了宝贵的数据源,可用于文本分析、舆情监控和趋势研究等多个领域。然而,由于Reddit的内容实时更新频繁、用户互动活跃,直接爬取其数据面临诸多挑战。...首先,Reddit对频繁的自动化访问有严格的限制,容易触发反爬虫机制,导致IP封禁。其次,高流量请求可能会导致请求速度限制,影响数据获取的效率。...为了解决这些问题,本文将探讨如何使用C#和RestSharp库,结合代理IP技术和多线程技术,实现高效的Reddit内容爬取。...输出部分帖子标题及统计结果,包括帖子数量、平均得分和平均评论数结论通过本文的技术分析和代码实现,展示了如何使用C#和RestSharp库,结合代理IP和多线程技术,实现高效的Reddit内容爬取。

    37410

    用 Javascript 和 Node.js 爬取网页

    HTTP 客户端:访问 Web HTTP 客户端是能够将请求发送到服务器,然后接收服务器响应的工具。下面提到的所有工具底的层都是用 HTTP 客户端来访问你要抓取的网站。...为了展示 Cheerio 的强大功能,我们将尝试在 Reddit 中抓取 r/programming 论坛,尝试获取帖子名称列表。...}; 22 23getPostTitles() 24.then((postTitles) => console.log(postTitles)); getPostTitles() 是一个异步函数,将对旧的...这将得到所有帖子,因为你只希望单独获取每个帖子的标题,所以必须遍历每个帖子,这些操作是在 each() 函数的帮助下完成的。...为了演示如何用 JSDOM 与网站进行交互,我们将获得 Reddit r/programming 论坛的第一篇帖子并对其进行投票,然后验证该帖子是否已被投票。

    10.2K10

    旧台式电脑的 10 种用途

    引言 无论你是自己组装了新电脑,还是请了最好的定制电脑制造商为你组装,接下来要做的就是如何处理你的旧电脑。...用自制云服务器代替 Google Drive 降低对云服务订阅的依赖 即便你选用的是免费云存储服务而非付费订阅,把数据放在别人的服务器上总归是有风险的。...如果旧硬件遇到问题,你也可以选择 Ubuntu,但配置 Kubernetes 会稍微复杂一些。 7....打造一台 Windows 服务器 将旧 Windows 电脑变成服务器非常简单 如果你觉得为旧电脑选择新操作系统来搭建家庭服务器太麻烦,为什么不直接使用现有的 Windows 系统呢?...无论你选择哪种方案,将启动驱动器升级到 SSD 都是一个值得的投资,因为它能显著提升旧硬件的性能。

    16100
    领券