首页 > 其他 > 详细

Redis(8)—Hyperloglog、Bitmap

时间:2020-06-02 17:22:45      阅读:35      评论:0      收藏:0      [点我收藏+]

Redis(8)—Hyperloglog、Bitmap

Hyperloglog 基数统计

Redis Hyperloglog 是基数(不重复的元素)统计的数据结构。以PF开头。

优点:占用的内存是固定,2^64 不同的元素的技术,只需要12KB内存。

可以计算网页的 UV (一个人访问一个网站多次,但是还是算作一个人)
传统的方式是用 set 保存用户的id,然后就可以统计 set 中的元素数量。这个方式如果保存大量的用户id,就会占用大量内存,查询效率也低。

  1. PFadd key value :创建元素。
  2. PFcount key :统计元素的基数数量。
  3. PFmerge key3 key1 key2 :将key1和key2的元素合并到key3元素中。
# 1. PFadd key value :创建元素。
PFadd mykey a b c
# 2. PFcount key :统计元素的基数数量。
PFcount mykey
# 3. PFmerge key3 key1 key2 :将key1和key2的元素合并到key3元素中。
PFmerge mykey3 mykey1 mykey2

BitMap

Bitmap 位图,数据结构。 操作二进制位来进行记录,就只有0 和 1 两个状态。

可以用来记录打卡,查看当天是否打卡,统计打卡天数。

# 1.setbit key offset value 
setbit sign 0 1 #周一打卡
setbit sign 1 0 #周二未打卡

# 2.getbit key offset
getbit sign 1 #查看周二是否打卡

# 3.bitcount key 
bitcount sign #统计打卡了几次

Redis(8)—Hyperloglog、Bitmap

原文:https://www.cnblogs.com/yinrz/p/13031154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!