Redis之二进制位数组BitMap

版权声明:guojawee https://blog.csdn.net/weixin_36750623/article/details/84196132

位图法统计活跃用户

  1. 1亿个用户,用户有频繁登陆的,也有不频繁登陆的
  2. 如何记录用户的登陆信息
  3. 如何查询活跃用户,如一周内登陆3次的

Redis提供了setbit、getbit、bitcount、bitop四个命令用于处理二进制位数组。

# setbit key pos [0/1]  设置key的第pos位置为0或者1
> setbit bit 0 1 # 设置第0位为1   00000001
> setbit bit 0 1 # 设置第2位为1   00000101
> setbit bit 0 0 # 设置第0位为0   00000100
> getbit bit 3   # 设置第3位为?  00000100
(integer) 1
> bitcount bit    #统计bit中1的个数
BITOP operation destkey key [key ...]  # 对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。
  operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:
   - AND:并
   - OR:或
   - XOR:异或
   - NOT:非

猜你喜欢

转载自blog.csdn.net/weixin_36750623/article/details/84196132
今日推荐