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

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

到目前为止,投票得分和评论数量是特定的帖子活动的主要指标。然而,Reddit 有许多访问者在没有投票或评论的情况下阅读内容。我们希望建立一个能够捕捉到帖子阅读数量的系统。...然后将该数量展示给内容创建者和版主,以便他们更好地了解特定帖子上的活动。 在这篇文章中,我们将讨论我们如何大规模地实现计数。 计数方法 对浏览计数有四个主要要求: ◈ 计数必须是实时的或接近实时的。...stream-lib 中的代码有很好的文档,但是要理解如何正确使用这个库并且调整它以满足我们的需求是有些困难的。 ☉ Redis 的 HLL 实现(我们选择的)。...这种情况通常发生在人们查看已经被 Redis 删除的旧帖的时候。...为了保持对可能从 Redis 删除的旧帖子的维护,Abacus 定期将 Redis 的完整 HLL 过滤器以及每个帖子的计数记录到 Cassandra 集群中。

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

    如何检查列表中的某个帖子是否被当前用户投票

    在 Django 项目中,如果需要检查一个列表中的某个帖子是否被当前用户投票(比如点赞或踩),可以通过数据库查询实现。...以下是具体的实现方法,假设你使用的是 Django 并有如下的数据库模型结构:问题背景我正在创建一个reddit克隆,其中存在一个问题,我正在寻找一种方法来指示当前用户是否对某个特定问题进行过投票,而不会产生过多数据库请求...downvoted_by(self, user): return self.down_votes.filter(user=user).exists()然后,在视图中,我们可以使用这些方法来检查用户是否对某个帖子进行过投票...render(request, 'threads/detail.html', { 'thread': thread, 'comments': comments })最后,在模板中,...down="{%if node.pk in downvoted_comments %}{% endif %}"​ ...​通过上述方法,可以高效地检查列表中每个帖子是否被当前用户投票

    4200

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

    img 本文我们就来聊一聊,Reddit 是如何在大规模下统计帖子浏览量的。 统计方法 我们对统计浏览量有四个基本的要求 计数必须达到实时或者接近实时。 每个用户在一个时间窗口内仅被记录一次。...帖子显示的统计数量的误差不能超过百分之几。 整个系统必须能在生成环境下,数秒内完成阅读计数的处理。 满足上面四个条件,其实比想象中要复杂。...和Scale两种实现 Twitter的Algebird库,Scala实现,Algebird的文档撰写非常好,但是关于它是如何实现HLL的,不是很容易理解。...stream-lib库中的HyperLogLog++实现,Java编写。 stream-lib代码的文档化做的很好,但我们对如何适当调优它,还是有些困惑的。...统计系统的第二部是一个称为Abacus 的kafka『消费者』它会真正的统计浏览量,并且让浏览量数据可以在整站和客户端上显示, 它接收从Nazar发送出来的事件消息,然后根据该消息中包含着标识值(Nazar

    2.1K40

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

    欢迎指正错误~ 我们想要更好的向用户展示 Reddit 的规模。为了这一点,投票和评论数是一个帖子最重要的指标。然而,在 Reddit 上有相当多的用户只浏览内容,既不投票也不评论。...所以我们想要建立一个能够计算一个帖子浏览数的系统。这一数字会被展示给帖子的创作者和版主,以便他们更好的了解某个帖子的活跃程度。 在这篇博客中,我们将讨论我们是如何实现超大数据量的计数。...这种结合了两种算法的实现有很大的好处,因为它对于小集合和大集合都能够保证精确度,同时保证了适度的内存增长。可以在 google 的这篇论文中了解这种实现的详细内容。...2、stream-lib中提供的 HyperLogLog++, 采用 Java 实现。stream-lib 中的代码文档齐全,但有些难理解如何合适的使用并且改造的符合我们的需求。...Abacus 会周期性的将 Redis 中全部的 HLL 和 每篇帖子的浏览量写入到 Cassandra 集群中。为了避免集群过载,我们以 10 秒为周期批量写入。 下图是事件流的大致流程: ?

    1.4K40

    知乎15篇书籍推荐帖子中的书名号统计2022.11.7

    574 https://www.zhihu.com/question/484187638 2、数据采集 3、数据清洗和分析 (1)去空行 (2)去重-网址重复即为重复 (3)提取每一行的书名号,每行唯一相同书名...、写入excel (4)数据透视,获取每个帖子,每本书的推荐次数,合计 4、其他分析 15个帖子中回答最多的人 15个帖子中获赞最多的人 15个帖子中评论最多的人-清洗数据 去掉商业的 结果...书名 全部计数 商业计数 减去商业后排序 非暴力沟通 206 43 163 活着 182 31 151 人类简史 191 43 148 如何阅读一本书 174 27 147 平凡的世界 166 35...19 3 16 当下的力量 18 2 16 美丽人生 17 1 16 死亡诗社 17 1 16 如何高效学习 25 10 15 稀缺 23 8 15 撒哈拉的故事 20 5 15 一九八四 20 5...#r = Recorder('results.xlsx', 1) # 50表示每50条记录写入一次文件 def main(): 采集表 = pandas.read_excel('知乎书籍推荐帖子内容

    57430

    匿名帖子中藏“马”,针对某特殊群体的供应链打击

    背景 大概在4月19号,我们注意到某步社区中有一个匿名帖子,贴子地址 https://m.threatbook.cn/detail/6192 贴子内容如下 ?...把项目脱到idea中,反编译jar包,随便查看了一些class文件,发现看不到具体的源码,只能看到如下图这种类似类声明的内容 ?...样本分析 在上一步已经明确了这个工具有问题,这里我们开始分析这个jar包到底是如何工作的 因为在idea中反编译效果太差,我一度想硬扣一下字节码把反编译工具换成jadx以后,内容正常了 代码中很多地方都使用了...,不过这里工具混淆的内容相对好一点,代码不解密其实也可以看出来一些实现的逻辑 正好刚才我们在样本测试的时候发现,这个工具的恶意代码触发逻辑可能是和ip有关,我们就重点关注一下ip处理相关的类 发现com.supeream.utils.IpUtil...因为加密和编码的问题,我们看不到具体是加载了什么类 其实这种加密我们在代码里都可以找到对应解密方式,本地自己实现一个解密也很快,查看了我们可能会重点关注的类以后,发现那些类都使用的强加密方式(堆栈方式)

    1.4K50

    如何搭建 WordPress 博客

    您将了解如何配置并启动 CVM 云服务器实例、如何安装 WordPress 并获取用户名和密码,以及如何登录 WordPress 管理页面。 WordPress平台本身是免费的。...添加内容并创建新的页面 安装主题后,您就可以开始创建内容了。 添加和编辑页面 在WordPress仪表板的侧边栏中查找“页面->添加”。...点击WordPress仪表盘中的外观->菜单。 找到您创建的页面,单击旁边的复选框,单击“添加到菜单”,将其添加到列表中。 添加和编辑帖子 如果您要在网站上搭建博客,那么您可能需要添加“帖子”的功能。...更改标题和标语 页面标题向搜索者解释了您的网站的内容。它们也是搜索引擎如何确定排名的重要组成部分。您应该在网站的每个页面上使用唯一标题。 标语在每个页面的标题末尾添加。...要更改网站上的标题和标语,请转到“设置 - >常规”并填写表单。 禁用帖子和页面的评论 您可能不希望您的访问者对网页发表评论。以下是关闭WordPress页面评论的方法。

    1.8K40

    如何搭建 WordPress 博客

    您将了解如何配置并启动 CVM 云服务器实例、如何安装 WordPress 并获取用户名和密码,以及如何登录 WordPress 管理页面。 WordPress平台本身是免费的。...添加内容并创建新的页面 安装主题后,您就可以开始创建内容了。 添加和编辑页面 在WordPress仪表板的侧边栏中查找“页面->添加”。...点击WordPress仪表盘中的外观->菜单。 找到您创建的页面,单击旁边的复选框,单击“添加到菜单”,将其添加到列表中。 添加和编辑帖子 如果您要在网站上搭建博客,那么您可能需要添加“帖子”的功能。...更改标题和标语 页面标题向搜索者解释了您的网站的内容。它们也是搜索引擎如何确定排名的重要组成部分。您应该在网站的每个页面上使用唯一标题。 标语在每个页面的标题末尾添加。...要更改网站上的标题和标语,请转到“设置 - >常规”并填写表单。 禁用帖子和页面的评论 您可能不希望您的访问者对网页发表评论。以下是关闭WordPress页面评论的方法。

    7.5K3330

    腾讯云服务器搭建WordPress博客

    您将了解如何配置并启动 CVM 云服务器实例、如何安装 WordPress 并获取用户名和密码,以及如何登录 WordPress 管理页面。 WordPress平台本身是免费的。...添加内容并创建新的页面 安装主题后,您就可以开始创建内容了。 添加和编辑页面 在WordPress仪表板的侧边栏中查找“页面->添加”。...点击WordPress仪表盘中的外观->菜单。 找到您创建的页面,单击旁边的复选框,单击“添加到菜单”,将其添加到列表中。 添加和编辑帖子 如果您要在网站上搭建博客,那么您可能需要添加“帖子”的功能。...更改标题和标语 页面标题向搜索者解释了您的网站的内容。它们也是搜索引擎如何确定排名的重要组成部分。您应该在网站的每个页面上使用唯一标题。 标语在每个页面的标题末尾添加。...要更改网站上的标题和标语,请转到“设置 - >常规”并填写表单。 禁用帖子和页面的评论 您可能不希望您的访问者对网页发表评论。以下是关闭WordPress页面评论的方法。

    4.8K40

    腾讯云服务器搭建WordPress博客

    您将了解如何配置并启动 CVM 云服务器实例、如何安装 WordPress 并获取用户名和密码,以及如何登录 WordPress 管理页面。 WordPress平台本身是免费的。...添加内容并创建新的页面 安装主题后,您就可以开始创建内容了。 添加和编辑页面 在WordPress仪表板的侧边栏中查找“页面->添加”。...点击WordPress仪表盘中的外观->菜单。 找到您创建的页面,单击旁边的复选框,单击“添加到菜单”,将其添加到列表中。 添加和编辑帖子 如果您要在网站上搭建博客,那么您可能需要添加“帖子”的功能。...更改标题和标语 页面标题向搜索者解释了您的网站的内容。它们也是搜索引擎如何确定排名的重要组成部分。您应该在网站的每个页面上使用唯一标题。 标语在每个页面的标题末尾添加。...要更改网站上的标题和标语,请转到“设置 - >常规”并填写表单。 禁用帖子和页面的评论 您可能不希望您的访问者对网页发表评论。以下是关闭WordPress页面评论的方法。

    4.3K50

    钻芒博主首个汉化主题-Gliu – 创意WordPress博客主题

    Gliu演示地址: www.iu25.com/GliuContentBerg演示: www.iu25.com图片Gliu是一个富有创意的WordPress博客主题,其独特的设计和令人印象深刻的功能。...可用的样式是:经典(特色图片)英雄与灯光标题黑暗标题的英雄没有特色图片画廊帖子将您的图库添加到帖子中,然后选择“图库”帖子格式。它将显示在帖子页面的最顶部,在一个有用的滑块中。...横幅管理我们的主题有一个排行榜横幅管理系统,可让您将横幅添加到主页,页面和帖子页面的10个不同位置。我们的主题有一个排行榜横幅管理系统,可让您将横幅添加到主页,页面和帖子页面的10个不同位置。...字体大小设置可用于大多数元素,如菜单项,滑块标题,帖子标题,帖子内容等。根据需要更改颜色。...7种不同的标题视图,3个标志位置:菜单上方的徽标,菜单下方的徽标,左侧的徽标您的博客主页有2个圆柱和3个圆柱布局。通过原生WordPress定制器将SEO文本添加到您的博客主页。

    8.7K20

    WordPress 初学者词汇表(术语解释)

    slug是 URL 中包含帖子名称的部分。它通常只有几句话,旨在描述帖子的内容。WordPress 自动使用帖子的标题作为 slug,但您可以根据需要编辑 slug。...例如,超级管理员有权访问您的 WordPress 网站的任何部分,他们可以安装主题或插件,他们可以发布、编辑或删除任何人创建的内容。另一方面,作者通常只能创建和发布帖子以及编辑他们创建的内容。...在 WordPress 中,小部件用于向Widget Areas(小部件区域)添加内容和功能,例如侧边栏、页脚或启用小部件的任何其他位置。...有了它,您可以使用内容“块”来设计帖子和页面的布局(取决于您的 WordPress 主题,甚至您的页眉和页脚部分)。...您可以通过在帖子和标题中使用相关标签、类别和关键字,以及通过编写标题来告诉访问者您的帖子是关于什么的,来改进您的WordPress SEO 。

    7.2K20

    编写自己的 WordPress 模板

    这不是必需的,因为 你可以在 中进行所有操作 index.php,但是良好的编程实践涉及模块化。对于这篇特定的帖子,我们将把整个工作分为四个部分,即。页眉、页脚、侧边栏和内容。...你可以看到我们的网站标题是如何“硬编码”的。这意味着,无论 你在哪个网站上应用此主题,标题都将保持相同的“WP Start”。如果作者必须更改它,他必须手动编辑代码才能这样做。...在我们的例子中,我们将使用存档链接和社交媒体链接。同样,WordPress 小部件比“硬编码”的垃圾要好得多!但为了清楚起见,我们将坚持后者。...目前,我们将坚持这个文件中的一些虚拟内容。...Loop是一种功能, 你可以使用它动态地将内容插入到 你的主题中。我们在本教程中的目标是将所有博客文章呈现为一个用户友好的列表,以便读者可以选择其中任何一篇。让我们看看我们是如何做到的。

    1.4K30

    5个最佳WordPress广告插件

    帖子内容的顶部/底部在任何段落或标题之后(包括随机化)在特定的HTML元素处侧边栏/小部件使用简码或PHP函数手动放置页脚还有bbPress、BuddyBoss和BuddyPress集成,以便您可以轻松地在社区的特定位置插入广告...5个最佳WordPress广告插件  它带有一个易于使用的设置页面,您可以在其中管理您的广告代码并选择您想要显示它们的方式和位置。该插件可以在文章之前或之后、内部帖子内容、摘录之后等自动显示广告。  ...灵活的广告放置,在帖子中的任何位置专门或随机插入广告。简单的配置界面,无需编码知识:只需复制并粘贴AdSense代码,勾选和选择选项,插件将为您完成剩下的工作。...只要您使用自托管的WordPress,您就可以在您的网站上放置您想要的任何广告。如何在我的WordPress文章中投放广告?所有广告管理插件都允许您使用简码或块手动放置广告。...您所做的就是将您的广告添加到插件中,然后将该广告的短代码或块包含在您要显示广告的帖子中。如何在WordPress上的帖子之间放置广告?

    8.6K20

    Wordpress邮件通知插件Notification使用小记

    Notification是wordpress上一款功能强劲的插件,可以实现wordpress各种事件的邮件通知功能,更可以根据自己的实际需求定制自己的邮件通知内容,插件提供了很多的短代码,能够很方便的协助用户完成邮件的模板创建...在这里,简单记下几种常见通知中可以使用的段代码,方便以后使用。 【发布新文章通知(New Post Published)】 网站简码 这些短代码可用于任何通知。...] 当前日期:[current_date] 当前时间:[current_time] 收件人用户密码 这些短代码只能用于具有“发送至”字段的通知以及在您的网站上拥有WordPress帐户的用户...email_user_avatar] 收件人用户配置文件自定义字段:[email_user_custom_field field =“ X“] (仅限自定义字段附加组件 管理WP管理员配置文件中的...:[post_author] 发布日期:[post_date] 发布日期(GMT):[post_date_gmt] 帖子内容:[post_content] 帖子标题:[post_title

    2.1K20

    Sticky Posts Switch插件教程WordPress中为分类添加置顶文章

    当您将新内容发布到您的网站时,之前的帖子会关闭并最终移动到存档页面。粘性帖子允许您在WordPress中添加精选帖子,并在您的网站主页上以不同的方式显示它们。...在本文中,我们晓得博客将向您展示如何在WordPress中为类别添加置顶文章。 注意:Sticky Post仅适用于内置帖子类型帖子,不适用于自定义帖子类型。  ...确保内容对您的读者保持相关性、准确性和吸引力!  推荐:Astra主题怎么设置顶部固定菜单/粘性浮动菜单为什么要在WordPress类别添加置顶文章?  ...随着网站的发展,新访问者可能很难找到您的内容或热门文章。这些文章可能会隐藏在您在网站上发布的其他博客文章中。在类别页面上放置粘性帖子对于突出显示WordPress网站上最重要的内容非常有用。...和 MultilingualPress如何在WordPress中为类别添加置顶文章?

    5.6K20

    WordPress SEO:配置Yoast和添加内容目录

    由林雍岷精心打造的WordPress SEO系列教程教你如何通过个人的努力每天为网站带来1000位访客,WordPress SEO系列教程教你做网站排名和网站访问速度优化。...Noindex无用内容 通常,你不希望某些内容显示在搜索引擎中(标签,帖子格式,作者档案,日期档案)。在Yoast中,转到SEO → Search Appearance。...浏览你的内容类型,分类法和存档选项卡,然后选择不在搜索结果中显示这些内容。...从网址中删除类别 如果/ category /在你的博客文章固定链接中没有作用,则应在Yoast中将其删除(SEO → Search Appearance → Taxonomies)。...Facebook不允许你更改标题,因此在Facebook上分享你的帖子之前,请使用Yoast的“Facebook标题”字段(可以与SEO标题+元描述不同)来为其指定标题。

    1.4K10
    领券