在Redis中,如果我需要具有RPOPLPUSH功能的排序集怎么办?

时间:2018-04-10 07:14:50

标签: php redis predis

我制作了一个用于更新许多客户端的脚本。该脚本应该能够在多个实例中运行。

首先,Redis将检索所有客户的ID。然后,脚本的每个实例都将RPOPLPUSH所有客户端(更新客户端并放在列表的后面)。

该脚本应该能够检测新客户端是否已注册(查询到数据库)并且需要将其ID放入列表/集合中。因此,我需要将该集合设为唯一,无重复ID

排序集似乎是这里的解决方案,但它没有RPOPLPUSH功能。我有什么选择?

1 个答案:

答案 0 :(得分:0)

使用排序集,但使用简单的Redis服务器端Lua脚本(EVAL)实现您自己的请求命令变体。

排序集始终按分数排序(如果分数相同,则按元素按字典顺序排序)。从问题中你不清楚"弹出"从(最高?最低?)和你要去的地方,但你知道你的要求,你可能最了解:)