后台作用户匹配, 优先获取正在匹配的用户, 十五秒内返回结果, 请问该如何实现?

问题描述

目前在做一个用户闪聊功能, 需求如下:

1:用户发起匹配后十五秒内返回结果, 结果为匹配成功或失败。
2:优先获取正在匹配的用户, 若无,则匹配其余符合条件的用户。

请问怎样实现 优先获取正在匹配的用户 这一需求?

最佳答案

可以利用redis去做。

  1. 用户发起匹配请求后,先在redis存入当前用户的ID(或其他身份信息),并设置过期时间为15s。
  2. 对于任一用户的匹配请求进来以后,获取redis中存入的正在匹配的用户进行匹配。