Redis zet 和 set 求差集

来源:互联网 发布:手机如何禁止安装软件 编辑:程序博客网 时间:2024/06/05 02:06

这里是用了求并集的命令来求差集,是一个比较好的统计手段。

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

这个 demo 是求了两个集合的并集:

sadd allusers donkey cat chipmonk trashpandazadd didusers 1 donkey 1 trashpandazunionstore didntdo 2 didusers allusers weights 1 0zrangebyscore didntdo 0 01) "cat"2) "chipmonk"

第三行的命令
ZUNIONSTORE destination numSets zset1 set2 weights weight1 weight2

参数:

  • numkeys:参与求交集的集合的数量
  • weight*:这里有两个 weight, 分别是求交集的时候每个元素的 score 的乘数因子,若是 set 没有score,便默认其 score 为 1;

这里的 weight2 = 0,于是并集中差集部分的 score 便是 0,只需列出 score 为 0 的 便是差集了:
zrangebyscore didntdo 0 0.

0 0