Php 获取多个redis排序集上显示的所有关键点
我在redis上有多个排序集,其中包含一个用户ID和一个分数。是否有任何方法可以过滤和获取出现在多个集合上的用户ID?例如,如果列表如下所示Php 获取多个redis排序集上显示的所有关键点,php,redis,Php,Redis,我在redis上有多个排序集,其中包含一个用户ID和一个分数。是否有任何方法可以过滤和获取出现在多个集合上的用户ID?例如,如果列表如下所示 List A - u1, u2, u3, u4, u5 List B - u3, u4, u5 List C - u4, u2, u3 List D - u4, u1, u2 如果我输入列表A、B、C、D,那么应该出现的唯一用户ID是u4 如果我输入列表A、B、C,那么返回的用户ID是u4、u3 我可以在PHP中加载每个列表并过滤掉每个列表,直到得到我想
List A - u1, u2, u3, u4, u5
List B - u3, u4, u5
List C - u4, u2, u3
List D - u4, u1, u2
我也对在redis中存储此结构的新方法持开放态度 在集合论中,它被称为交集。Redis有一个命令,它将多个排序集的键相交,并将它们存储到一个新键中
ZINTERSTORE LIST-Z 4 A B C D
ZRANGE LIST-Z 0 -1 WITHSCORES
这会将A、B、C和D键中的用户相交,并将相交点存储在键列表-Z中谢谢,我认为这是正确的方法。我一直在玩这个,我得到了我期望的结果。