bitop
redis> SET key1 "foobar"
"OK"
redis> SET key2 "abcdef"
"OK"
redis> BITOP AND dest key1 key2
(integer) 6
redis> GET dest
"`bc`ab"
解释一下:
key1的值为"foobar" 对应的二进制为 1100110 1101111 1101111 1100010 1100001 1110010
key2的值为"abcdef" 对应的二进制为 1100001 1100010 1100011 1100100 1100101 1100110
BITOP AND dest key1 key2 的意思是 BITOP 是命令 AND 并运算 dest 并运算的结果存储在dest里面
key1 key2 就是redis缓存key
BITOP AND 怎么计算的呢?
每一个字符对比他们的二进制 第0位 f 和 a 他们相同的地方是1100 后面的不同的,那就直接填充0 所以AND 过后 dest的第0位的二进制是 1100000 转过来就是"`"
后面的依然如此