Redis 学习笔记Hyperloglog & Bitmaps
Posted Adorable_Rocy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 学习笔记Hyperloglog & Bitmaps相关的知识,希望对你有一定的参考价值。
前言:Hyperloglog可以用来做什么?一般的页面数据统计,可以使用此计数,2^64次方数据不同元素的技术,只需要花费12KB内存,从内存角度出发的话,Hyperloglog必然是首选!
1.PFADD key …val
127.0.0.1:6379> PFADD mykey a b c d e f g
(integer) 1
127.0.0.1:6379> PFCOUNT mykey # 统计个数
(integer) 7
127.0.0.1:6379> PFADD mykey2 f g h i j k l m n o p q
(integer) 1
127.0.0.1:6379> PFCOUNT mykey2
(integer) 12
2.PFMERGE newKey key1 key2
# 合并mykey 和 mykey2 的元素
127.0.0.1:6379> PFMERGE mykey3 mykey mykey2
OK
127.0.0.1:6379> PFCOUNT mykey3
(integer) 17
127.0.0.1:6379>
# mykey 中 有元素 7 个 , mykey2 中有元素 12 个, 两组元素重复为2个 , 所以最终结果为 7 + 12 - 2 = 17
3.Bitmaps setbit key field val
每日打卡记录需求:
127.0.0.1:6379> setbit day 0 1 # 设置某一天是否打卡?是 (取1) 否 (取0)
(integer) 0
127.0.0.1:6379> setbit day 1 1
(integer) 0
127.0.0.1:6379> setbit day 2 1
(integer) 0
127.0.0.1:6379> setbit day 3 0
(integer) 0
127.0.0.1:6379> setbit day 4 0
(integer) 0
127.0.0.1:6379> setbit day 5 0
(integer) 0
127.0.0.1:6379> setbit day 6 1
(integer) 0
127.0.0.1:6379> GETBIT day 3 # 查看具体某一天
(integer) 0
127.0.0.1:6379>
以上是关于Redis 学习笔记Hyperloglog & Bitmaps的主要内容,如果未能解决你的问题,请参考以下文章