你在redis中有一个排序集A,你不时向它添加新元素,它们按等级排序,例如你也有一个排序集B。
有没有办法检查集合 A 中是否有元素已经存在超过 20 秒,然后将它们移动到排序集合 B
因为这种检查操作非常频繁,而且列表可能非常大,遍历集合中的每个元素并不是一个好的解决方案。需要最快的。
谢谢。
更新:这就是我想要做的:基本上这个想法是,想象你有某种游戏服务器,当他们提出战斗请求时可以匹配对手。当前的设计是每个请求都进入集合,并且排名/分数是玩家排名。因此,列表中每 2 个彼此靠近的玩家都是完美匹配。每 5 秒左右调用一个脚本,从集合顶部拉出 50 行,并 2 对 2 匹配它们(并删除它们)。这工作正常,我认为这是一个非常快速的工作解决方案。但随后创建机器人(AI)玩家的想法出现了。这样当玩家在que中等待太久时,他就会与机器人(AI)玩家匹配。而且我无法找到一种方法来查看“谁等待太久”基本上可能整个想法都是错误的..所以欢迎任何更好的想法: