请问应该怎么做一个匹配系统呢?

2017-08-16 13:33:06 +08:00
 gogobody
主要用与 h5 页面做一个匹配聊天的系统。
A 点击了匹配,显示正在匹配,进入匹配队列,B 也点击了匹配,如果队列里有人,就匹配成功。可以选择按照条件匹配,(距离,性别,爱好等)
我想的是用 python 队列,有人点击匹配就加到队列里去,然后按条件查找😂,这样一个人点击了就要不断遍历队列,而且如果人数很多就僵了。 所以来请教各位,有什么好的方法或者建议吗?非常感谢╰(*´︶`*)╯
3336 次点击
所在节点    Python
6 条回复
zengzizhao
2017-08-16 14:53:23 +08:00
点匹配就加到不同类型的队列里去,再根据条件从不同类型队列里取人配对
a570295535
2017-08-16 16:27:10 +08:00
我觉得这种聊天的需求真的不大,就整个话题分类让用户自己选自己创建就行了,
如果想要 1 对 1 那样,用户自己限制房间人数就行了,
反正我是最烦这种匹配式聊天的,如果是游戏匹配房间还好说,
聊个天选来选去选半天还匹配不上烦不烦啊,用户要的是简单简单简单啊。。。
gogobody
2017-08-16 16:33:31 +08:00
@zengzizhao 请问这样的话,比如 A 点击了匹配之后,就要一直循环遍历吗?
gogobody
2017-08-16 16:38:29 +08:00
@a570295535 感谢,就是一个小功能,说起来有点像微信那个摇一摇那样
Immortal
2017-08-16 16:58:08 +08:00
你可以把需要的条件 归类成 redis 的 set
然后根据进来匹配的用户属性 去 set 取交集
临时想到的
zengzizhao
2017-08-16 21:15:57 +08:00
@gogobody 为啥要循环遍历,A 点了匹配之后如果对应类型的集合中无待匹配的人,就按类型放到对应的集合里去了,如果对应类型集合中有待匹配的人那就拿出来直接和 A 匹配成功了

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

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

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

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

© 2021 V2EX