V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
gogobody
V2EX  ›  Python

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

  •  
  •   gogobody · 2017-08-16 13:33:06 +08:00 · 3340 次点击
    这是一个创建于 2664 天前的主题,其中的信息可能已经有所发展或是发生改变。
    主要用与 h5 页面做一个匹配聊天的系统。
    A 点击了匹配,显示正在匹配,进入匹配队列,B 也点击了匹配,如果队列里有人,就匹配成功。可以选择按照条件匹配,(距离,性别,爱好等)
    我想的是用 python 队列,有人点击匹配就加到队列里去,然后按条件查找😂,这样一个人点击了就要不断遍历队列,而且如果人数很多就僵了。 所以来请教各位,有什么好的方法或者建议吗?非常感谢╰(*´︶`*)╯
    6 条回复    2017-08-16 21:15:57 +08:00
    zengzizhao
        1
    zengzizhao  
       2017-08-16 14:53:23 +08:00
    点匹配就加到不同类型的队列里去,再根据条件从不同类型队列里取人配对
    a570295535
        2
    a570295535  
       2017-08-16 16:27:10 +08:00
    我觉得这种聊天的需求真的不大,就整个话题分类让用户自己选自己创建就行了,
    如果想要 1 对 1 那样,用户自己限制房间人数就行了,
    反正我是最烦这种匹配式聊天的,如果是游戏匹配房间还好说,
    聊个天选来选去选半天还匹配不上烦不烦啊,用户要的是简单简单简单啊。。。
    gogobody
        3
    gogobody  
    OP
       2017-08-16 16:33:31 +08:00
    @zengzizhao 请问这样的话,比如 A 点击了匹配之后,就要一直循环遍历吗?
    gogobody
        4
    gogobody  
    OP
       2017-08-16 16:38:29 +08:00
    @a570295535 感谢,就是一个小功能,说起来有点像微信那个摇一摇那样
    Immortal
        5
    Immortal  
       2017-08-16 16:58:08 +08:00   ❤️ 1
    你可以把需要的条件 归类成 redis 的 set
    然后根据进来匹配的用户属性 去 set 取交集
    临时想到的
    zengzizhao
        6
    zengzizhao  
       2017-08-16 21:15:57 +08:00
    @gogobody 为啥要循环遍历,A 点了匹配之后如果对应类型的集合中无待匹配的人,就按类型放到对应的集合里去了,如果对应类型集合中有待匹配的人那就拿出来直接和 A 匹配成功了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2877 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:16 · PVG 20:16 · LAX 04:16 · JFK 07:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.