gpt4 book ai didi

php - 获取出现在多个 redis 排序集上的所有键

转载 作者:IT王子 更新时间:2023-10-29 06:04:34 26 4
gpt4 key购买 nike

我在 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 中

关于php - 获取出现在多个 redis 排序集上的所有键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28669980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com