微信小程序“xx 个朋友使用过” 是如何实现的?

69 天前
 xuemian

突然在想一个问题,微信小程序“xx 个朋友使用过” 是如何实现的?

如果只是单纯统计使用人数是非常简单的,但是如何在查询的瞬间,把有多少好友使用过这种带有条件的筛选给遍历一遍呢? 这个数据量应该是非常大的,如果我有 1000 多个好友,肯定数据都散列在很多个数据库中了,要瞬间刷新一次数据应该不太可能。

有没有一种可能是,当 A 用户第一次访问小程序的时候,就把这个信息“广播”扩散给所有好友,让计数器+1 ?

我是个大学生,问的问题可能比较蠢,敬请轻喷,谢谢大佬们 QAQ

1197 次点击
所在节点    微信
6 条回复
ramirezyolis808
69 天前
这个数据又不需要实时,你说的办法完全可能啊。
xiri
69 天前
遍历你的好友检查有多少用过这个小程序就好,又不用遍历这个小程序的所有用户,为啥数据量会非常大?
xiri
69 天前
@xiri 另外判断数据是否在集合中有很多快速方法,并不需要遍历(比如布隆过滤器),这种一般也不需要实时计算,慢慢统计定期更新也没啥关系
xuemian
69 天前
@xiri #3 学到了,谢谢
paopjian
69 天前
真是不拿用户隐私当隐私啊,这个技术应该和 qq 那个共同好友差不多,复杂点弄个图数据库就出来了,再简单点就是拿你的好友列表的关注和公众号匹配就好,1000 个好友对某个小程序是否使用过应该是查询一千次?
baoshu
61 天前
@paopjian 1000 个好友对某个小程序是否使用过应该是查询一千次?
事实上只需要查询 1-2 次,首先查询你有多少个好友,然后用一个 sql 查询有哪些好友打开过。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1019593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX