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

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

然后将该数量展示给内容创建者和版主,以便他们更好地了解特定帖子上的活动。 在这篇文章中,我们将讨论我们如何大规模地实现计数计数方法 对浏览计数有四个主要要求: ◈ 计数必须是实时的或接近实时的。...为了实时保持准确的计数,我们需要知道某个特定的用户是否曾经访问过这个帖子。要知道这些信息,我们需要存储先前访问过每个帖子的用户组,然后在每次处理对该帖子的新访问时查看该组。...当用户查看帖子时,事件被激发并发送到事件收集器服务器,该服务器批量处理事件并将其保存到 Kafka 中。 从这里,浏览计数系统有两个按顺序运行的组件。...如果事件被标记为计数,那么 Abacus 首先检查 Redis 中是否存在已经存在与事件对应的帖子的 HLL 计数器。...为了保持对可能从 Redis 删除的旧帖子的维护,Abacus 定期将 Redis 的完整 HLL 过滤器以及每个帖子计数记录到 Cassandra 集群中。

1.2K90

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

img 本文我们就来聊一聊,Reddit 是如何在大规模下统计帖子浏览量的。 统计方法 我们对统计浏览量有四个基本的要求 计数必须达到实时或者接近实时。 每个用户在一个时间窗口内仅被记录一次。...帖子显示的统计数量的误差不能超过百分之几。 整个系统必须能在生成环境下,数秒内完成阅读计数的处理。 满足上面四个条件,其实比想象中要复杂。...Nazar会在事件被发送回kafka时,为事件添加一个标识位,根据该事件是否被加入到计数当中的布尔值。...,如果事件被计数,Abacus会首先检查这个事件中文章的HLL计数是否存在于Redis中,如果存在,Abacus会发送一个PFADD请求给Redis,如果不存在,Abacus会发生一个请求到Cassandra...集群,Cassandra集群会持久化HLL 计数和真实的原始计数数据,然后再发送一个SET请求到Redis,这个过程通常出现在用户阅读一个已经被Redis剔除的就文章的情况下发送。

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

优化WordPress性能的高级指南

获取帖子(Fetching Posts) WordPress提供从数据库中获取任何类型帖子(post)的方法。...这可能会导致不一致,特别是如果我们在代码中使用查询相关的过滤器,因为你在页面中不期望的帖子可能会被该函数返回。 使用WP_Query类 在我看来,这是从数据库中检索帖子的最佳方式。...添加这两个参数将禁用这些功能并加快查询速度: $query = new WP_Query( array( 'ignore_sticky_posts' => true, 'no_found_rows'...这样,我确保,即使我在响应( response)中有一些不需要的帖子,我至少会有一些$posts_per_page期望的帖子。...最后,我们将一个重型数据库查询(使用WP_Query元键)更改为简单直接的查询(调用get_post()),这是一个更好和更有效的方法。

7K20

还记得当年的百度贴吧吗? 今天, 有人写了一个去中心化的...

为实现这一功能,我们需要使用投票计数器来扩展之前定义的帖子结构体 Post,并引入一个代表投票类型的枚举结构。为了方便前端应用程序调用,我们需要添加一个新建投票事件 NewVote。...} 为存储每个帖子中的投票纪录,我们需要在帖子结构体 Post 中相应地加入“好评”投票计数器和“差评”投票计数器。...在函数中,我们用当前的投票类型更新“好评”投票计数器或“差评”投票计数器,存储已投票用户的信息并发出新建投票事件 NewVote: function vote(uint _postId, uint8 _...a)导入智能合约实例 在运行测试时, Embark 框架会在全局范围加入一些必要的自定义函数和对象。...其中一个就是自定义获取函数 require() ,它可以帮助我们从特定的 Embark 路径中导入智能合约实例。

65300

5个最佳WordPress广告插件

任何广告——插入AdSense和其他广告平台或创建您自己的自定义广告。对于自定义广告,您可以使用图片、JavaScript、HTML等。广告轮播详细的定位规则——按内容、用户类型、设备等进行定位。...详细定位——将您的广告定位到特定类型的用户(例如,为登录用户隐藏广告)、设备、地理位置等。广告轮播和A/B测试-轮播您的广告并跟踪统计数据,看看哪个效果最好。...广告商报告——在您的网站上做广告的人会获得一个自助仪表板来查看他们的广告的统计数据。...该插件可以在文章之前或之后、内部帖子内容、摘录之后等自动显示广告。  它具有自定义广告小部件,可在侧边栏和其他小部件就绪区域显示广告。没有您在此列表中的其他一些插件中找到的许多高级功能。...最多支持10个广告代码,用于帖子中的特定位置和随机化。地理定位:将广告限制在特定国家。设备定位:将广告限制在特定设备上。访问者定位:将广告限制在特定类型/访问者来源。

8.3K20

WordPress 首页文章如何使用分类过滤?

如果懂代码,WordPress 的 WP_Query 支持 category__in 和 category__not_in 这两个参数,使用 pee_get_posts hook 处理一下就好了。...支持自定义头像,屏蔽个人设置,优化姓名设置, 隐藏登录名,限制登陆失败次数,防止密码被暴力破解等功能。 分类管理 层式管理分类和分类拖动排序,支持设置分类的层级。...支持自定义文章类型自定义字段,自定义分类,分类选项,全局选项。 Script Loader 通过恢复 WordPress 联合加载方式来优化 WordPress 后台脚本加载。...后台论坛 WordPress 后台论坛,支持创建帖子,分组,消息。 微信小程序 微信小程序 WordPress 基础插件,包含基础类库和管理。

1.6K20

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

当您将新内容发布到您的网站时,之前的帖子会关闭并最终移动到存档页面。粘性帖子允许您在WordPress中添加精选帖子,并在您的网站主页上以不同的方式显示它们。...注意:Sticky Post仅适用于内置帖子类型帖子,不适用于自定义帖子类型。  推荐:如何在Xampp中安装PHP GD(GD Graphics Library)什么是置顶帖/文章?  ...Sticky Posts是仅适用于帖子的WordPress功能,使用此插件,您也可以将此功能与自定义帖子类型一起使用。...Sticky Posts Switch插件教程WordPress中为分类添加置顶文章 Sticky Posts Switch插件的特点使您可以对首页、存档页面或类别页面上的每个自定义帖子类型使用粘性帖子功能对自定义帖子类型的快速和批量编辑支持选择帖子类型...(帖子自定义帖子类型)选择开关图标的颜色显示开关图标的列的自定义顺序仅使用内置的WordPress功能星形图标开关立即使用 ajax 将帖子保存为置顶状态可选地,将帖子的所有翻译设置为置顶,支持 Polylang

5.5K20

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

仅限订阅附加组件) 发布/页面/自定义发布类型短代码 永久链接:[ permalink ] 帖子ID:[ID] 原帖帖子作者:[post_author] 发布日期:[post_date]...post_modified_gmt] 过滤后的内容:[post_content_filtered] 后期父母:[post_parent] GUID:[guid] 菜单顺序:[menu_order] 帖子类型...:[post_type] 发布MIME类型:[post_mime_type] 评论数:[ comment_count] 编辑帖子链接:[edit_post] Post Slug:[post_slug...] 永久链接到帖子后:[post_parent_permalink] 链接到帖子 作者档案:[author_link] 链接到帖子类型档案:[post_type_archive] 特色图片...:[featured_image] 第一张图片发布:[first_image] 自定义字段:[custom_field field =“X”] (仅限自定义字段附加组件) 用户简码 这些多用途短代码涉及触发通知的人

2.1K20

【每日SQL打卡】​​​​​​​​​​​​​​​DAY 21丨每个帖子的评论数【难度中等】​

难度简单 SQL架构 表 Submissions 结构如下: +---------------+----------+ | 列名           | 类型     | +--------------...每行可以是一个帖子或对该帖子的评论。 如果是帖子的话,parent_id 就是 null。 对于评论来说,parent_id 就是表中对应帖子的 sub_id。...编写 SQL 语句以查找每个帖子的评论数。 结果表应包含帖子的 post_id 和对应的评论数 number_of_comments 并且按 post_id 升序排列。...您应该计算每个帖子的唯一评论数。 Submissions 可能包含重复的帖子。您应该将它们视为一个帖子。...表中 ID 为 3 的评论重复出现了,所以我们只对它进行了一次计数。 表中 ID 为 2 的帖子有 ID 为 5 和 10 的两个评论。 ID 为 12 的帖子在表中没有评论。

39720

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

标准帖子Gliu有4种标准职位。要选择其中一个,请在添加/编辑帖子时选中或取消选中右侧的框。...可用的样式是:经典(特色图片)英雄与灯光标题黑暗标题的英雄没有特色图片画廊帖子将您的图库添加到帖子中,然后选择“图库”帖子格式。它将显示在帖子页面的最顶部,在一个有用的滑块中。...易于定制您可以通过原生WordPress自定义程序轻松更改您的网站设置。所以你将有更多的时间来享受这个主题!您可以通过原生WordPress自定义程序轻松更改您的网站设置。...字体大小设置可用于大多数元素,如菜单项,滑块标题,帖子标题,帖子内容等。根据需要更改颜色。...控制/更改您在滑块中看到的闪光计数。Off-Canvas边栏您可以更改特色图像尺寸。“英雄特色图像”选项可用于深色或浅色标题。上传您自己的徽标并更改其大小。您可以显示/隐藏大部分元素。

8.6K20

Go入门 - 工程实践|青训营笔记

WaitGroup 详细代码参见 go-project-exmple/concurrence/sync.go文件,例子给出两种实现并发安全计数的方式,一种是通过互斥锁锁住临界区(某一段被并发访问的代码...,也就是锁住共享内存),一种是通过WaitGroup实例,Add申请计数器,Done对计数器-1,直到计数器为0,则Wait操作才会停止阻塞,放行。...模拟数据) Mock工具地址:https://github.com/bouk/monkey 如果有一些测试依赖外部数据,则可以通过mock提供自己的测试数据 这里的Patch方法就是在本次单元测试中,用自定义的方法替换...为某个topic发布帖子: 首先需要提供一个外部的接口,用于发布帖子,并且配套完成controller、service、repository层的编写 下面给出repository的核心代码,需要注意的是考虑到并发发布帖子的情况...这里提到的文件追加和map追加都涉及到并发安全性的问题,这里使用了 互斥锁,核心代码就是上面这张图 关于自增id这里因为可以保证临界区的互斥访问,因此采用计数累加的形式实现帖子id唯一性 结束语 关于课后的实践

24610

每个帖子的评论数

题目 表 Submissions 结构如下: +---------------+----------+ | 列名 | 类型 | +---------------+------...每行可以是一个帖子或对该帖子的评论。 如果是帖子的话,parent_id 就是 null。 对于评论来说,parent_id 就是表中对应帖子的 sub_id。...编写 SQL 语句以查找每个帖子的评论数。 结果表应包含帖子的 post_id 和对应的评论数 number_of_comments 并且按 post_id 升序排列。...您应该计算每个帖子的唯一评论数。 Submissions 可能包含重复的帖子。您应该将它们视为一个帖子。...表中 ID 为 3 的评论重复出现了,所以我们只对它进行了一次计数。 表中 ID 为 2 的帖子有 ID 为 5 和 10 的两个评论。 ID 为 12 的帖子在表中没有评论。

64400

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

这一数字会被展示给帖子的创作者和版主,以便他们更好的了解某个帖子的活跃程度。 在这篇博客中,我们将讨论我们是如何实现超大数据量的计数。...计数机制 对于计数系统我们主要有四种需求: 1、帖子浏览数必须是实时或者近实时的,而不是每天或者每小时汇总。 2、同一用户在短时间内多次访问帖子,只算一个浏览量。...为了实时精准计数,我们需要知道某个用户是否曾经访问过这篇帖子。想要知道这个信息,我们就要为每篇帖子维护一个访问用户的集合,然后在每次计算浏览量时检查集合。...如果 Nazar 中的处理结果是可以加入计数,那么 Abacus 首先会检查这个事件所关联的帖子在 Redis 中是否已经存在了一个 HLL 计数器。...这通常会发生在网友访问较老帖子的时候,这时该帖子计数器很可能已经在 Redis 中过期了。 为了存储存在 Redis 中的计数器过期的老帖子的浏览量。

1.3K40

盘点一下影响MySQL性能的因素

因为 MyISAM 内置了一个计数器,count(* ) 时它直接从计数器中读,而 InnoDB 必须扫描全表。...当一个论坛的帖子数量很大了之后,到底有多少人会关注这个统计数据是否是实时变化的? 有多少人在乎这个数据在短时间内的不精确性?...恐怕不会有人会盯着这个统计数字并追究当自己发了一个帖子然后回头刷新页面发现这个统计数字没有加 1 吧? 所以只要去掉了这个“实时更新”的附加条件,就可以非常容易的实现这个功能了。...可能最高的并发是查看帖子标题列表,现在往往帖子标题后面会跟一个作者的昵称。 然而根据需求帖子标题(作者昵称),这里需要关联(这里就需要有一个 join 查询)。...255) 等) 单表行数拆分 最终的目的就是:表小、行小、字段小 硬件环境对数据库的性能的影响 数据库是存取数据的地方,所以数据库主机的 IO 性能肯定是需要最优先考虑的一个因素,这一点不管是什么类型的数据库应用都是适用的

78540

DiscuzX2.5数据库字典

id => ‘自定义广告类型id’ name => ‘名称’ pre_common_banned – 禁止访问表 id => ‘禁止id’ ip1 => ‘IP分段1′ ip2 => ‘IP分段2′...feed(原字段为customaddfeed)’ customshow => ‘自定义帖子显示模式’ customstatus => ‘自定义头衔’ medals => ‘勋章信息’ sightml =...1′ field2 => ‘自定义字段2′ field3 => ‘自定义字段3′ field4 => ‘自定义字段4′ field5 => ‘自定义字段5′ field6 => ‘自定义字段6′ field7...‘允许加好友’ allowclick => ‘允许表态’ allowmagic => ‘允许使用道具’ allowstat => ‘允许查看趋势统计’ allowstatdata => ‘允许查看统计数据报表...title => ‘标题’ content => ‘文章内容’ pageorder => ‘分页排序’ dateline => ‘添加时间’ pre_portal_article_count – 门户文章统计数据表

1.4K70

Redis | 001能做什么?

1、记录帖子的点赞数、评论数和点击数(hash); 2、记录用户的帖子ID列表(排序),便于快速显示用户的帖子列表(zset); 3、记录帖子的标题、摘要、作者和封面信息,用于列表页展示(hash);...4、记录帖子的点赞用户ID列表,评论ID列表,用于显示和去重计数(zset); 5、缓存近期热帖内容(帖子内容的空间占用比较大),减少数据库压力(hash); 6、记录帖子的相关文章ID,根据内容推荐相关帖子...(list); 7、如果帖子ID是整数自增的,可以使用Redis来分配帖子ID(计数器); 8、收藏集和帖子之间的关系(zset); 9、记录热榜帖子ID列表、总热榜和分类热榜(zset); 10、缓存用户行为历史

99130

独立开发 一个社交 APP 的架构分享 (已实现)

按编辑 图文混排类型 图文加视频录制类型类型(内容布局各不相同) 圈子,可以发布视频,显示位置 我的作品,图文混排,瀑布流显示 创业,不开启评论与点赞 操作: 帖子评论与评论的回复,包含表情的插入...操作记录私有,开启了,别的用户无法查看你的操作记录 推送设置的开启与否 缓存清理 检测更新 意见反馈 分享给朋友 关于我们以及评分 搜索模块 功能 支持模糊搜索 具备搜索的历史缓存 类型 搜索各类帖子...数据列表类型的页面数据加载采用自定义的 AsyncTask 继承类来进行网络线程 类似收藏、举报这类低数据流的网络请求采用 Thread + Handler 组合 图片并发上传的类型,采用线程池进行 3...4) 帖子详情页的显示 代码结构 由于帖子类型有三种,这三种帖子除了内容部分布局不一样,评论布局是一样的,分享、删除等按钮也是一样的,当然,也可以自己通过接口改变评论布局。...帖子有三种类型,对应三张表,文章独立一张表 点赞一张表 评论一张表 收藏一张表 信息提醒一张表 用户消息的查看与否以及数目在移动端的显示,需要在消息表设置加上是否查看了的字段,可以解决以下几个问题:

4.6K101

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

Post Type(帖子类型帖子类型是一种在您的网站上构建内容的方式。例如,“博客”是一种帖子类型,“员工”或“作品集”也是如此。...这是区分内容的一种简单方法,并且您的主题通常会根据其目的设置帖子类型的样式。...使用相同的示例,可以对帖子类型进行样式设置,以便博客具有特色图像然后是文本,员工可能包括图像和社交链接,并且投资组合可能只显示图像集合(注意 – 这些只是演示如何发布的示例类型通常有不同的样式,这并不是说每个博客...根据您的 WordPress 主题(或页面构建器),侧边栏通常是左侧或右侧的垂直列,尽管根据帖子类型或页面,某些设计可能具有两个侧边栏甚至自定义侧边栏。...这可以包括上传自定义徽标、选择主要网站强调色、创建菜单、添加小部件、自定义帖子类型设置等等。此部分可以在外观 > 自定义下的 WordPress 主仪表板中找到。

7.1K20
领券