繁体   English   中英

获取出现在多个Redis排序集中的所有键

[英]Get all keys that appear on multiple redis sorted sets

我在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
  1. 如果我输入列表A,B,C,D,那么应该出现的唯一用户ID是u4

  2. 如果我输入列表A,B,C,则返回的用户ID是u4,u3。

我可以通过在PHP中加载每个列表并过滤出每个列表,直到剩下想要的ID来进行映像处理,但是在Redis中有什么方法可以执行此操作?

我也对在Redis中存储此结构的新方法持开放态度。

在集合论中,它称为交集。 Redis有一个ZINTERSTORE命令,该命令与多个排序集的键相交并将其存储到一个新键中。

ZINTERSTORE LIST-Z 4 A B C D
ZRANGE LIST-Z 0 -1 WITHSCORES

这使用户与键A,B,C和D相交,并将相交存储在键LIST-Z中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM