Bitmaps与HypeLoglog

bitmap 算法-小灰

  • Bitmaps 单独提供了一套命令,所以在 Redis 中使用 Bitmaps 和使用字符串的方法不太相同。可以把 Bitmaps 想象成一个以 位 为单位的数组,数组的每个单元只能存储 0 和 1,数组的下标在Bitmaps中叫做偏移量

基础操作:

setbit key offset value 设置值

getbit key offset 获取值

bitcount [start end ] 获取指定范围内1的个数

bitpos key targetBit [start end ] 计算bitmaps 中第一个值为targetbit偏移量   bitpos key 1 计算key中当前访问网站的最小用户id

bitop op destkey key (op = or,and,not,xor)  bitmap 之间的运算

operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:

  • BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。
  • BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。
  • BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。
  • BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey 。

结论:bitmaps并不是万精油,假设每天的量很少,比如只有10万(大量的僵尸用户),这时用bitmaps不太合适

HypeLoglog:

详解

并不是新型的数据结构(实际类型是字符串类型),而是一种基数算法

pfadd key elements 添加元素

pfcount key 计算独立用户数

info memery 查看内存

pfmerge destkey sourcekey 合并,并集

结论:内存占用量少,但是存在错误率,量多容许一定的误差率可以选择

转载于:https://my.oschina.net/u/3098425/blog/2872613

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值