gpt4 book ai didi

redis - 如何使用redis计算所有集合的交集?

转载 作者:可可西里 更新时间:2023-11-01 11:20:39 24 4
gpt4 key购买 nike

是否有使用 Redis 返回所有集合交叉点的标准方法?

例如,使用下面的数据,我想返回所有集合之间共有的成员数,总共3次比较

HMSET cset_details:1 name 'set 1' description 'my first set' date 'today'
HMSET cset_details:2 name 'set 2' description 'my second set' date 'today'
HMSET cset_details:2 name 'set 3' description 'my third set' date 'today'
SADD cset_members:1 a b c d
SADD cset_members:2 c d e
SADD cset_members:3 d e f g

谢谢

伊恩

最佳答案

我相信您正在寻找 SINTERSINTERSTORE 命令(参见 http://redis.io/commands/sinterhttp://redis.io/commands/sinterstore)

127.0.0.1:6379[1]> SADD cset_members:1 a b c d
(integer) 4
127.0.0.1:6379[1]> SADD cset_members:2 c d e
(integer) 3
127.0.0.1:6379[1]> SADD cset_members:3 d e f g
(integer) 4
127.0.0.1:6379[1]> SINTER cset_members:1 cset_members:2 cset_members:3
1) "d"
127.0.0.1:6379[1]> SINTERSTORE in_all_sets cset_members:1 cset_members:2 cset_members:3
(integer) 1
127.0.0.1:6379[1]> SMEMBERS in_all_sets
1) "d"
127.0.0.1:6379[1]>

关于redis - 如何使用redis计算所有集合的交集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35530264/

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