06’06处:bitop and 这个and到底是并集还是交集?你PPT上写的交集,自己演示的时候说的是并集,到底是啥?

来源:4-5 bitmap

我还会怀念过去

2021-10-25

06’06处:bitop and 这个and到底是并集还是交集?你PPT上写的交集,自己演示的时候说的是并集,到底是啥?为啥看个视频这么累人呢?

写回答

1回答

易萧

2021-11-12

and很明显是交集这是共识,老师PPT确实打错了,你也完全可以自己写个小实验。

随便设置一个kv,然后查看有多少个1:

set bit1 0
bitcount bit1

这里我们得到(integer) 2

再设置另一个kv,然后同样查看1的数量:

set bit2 1
bitcount bit2

这里我们得到(integer) 3

..

我们可以不用管具体的运算结果是多少,但有一点可以肯定,

如果and是交集,那么运算结果一定是倾向于1更少的一方,也就是bit1,反之and若是并集,那么值为1的位至少是有3个的。

我们查看结果:

bitop and destKey bit1 bit2
get destKey

我们得到destKey的值是"0",和bit1相等,你也可以用bitcount destKey看到结果:(integer) 2。

..

你顺便也可以看下如果是or,它的结果是多少。

0
0

一站式学习Redis 从入门到高可用分布式实践

Redis课程升级!系统梳理Redis知识体系,掌握redis必备!

2277 学习 · 261 问题

查看课程