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的主要内容,如果未能解决你的问题,请参考以下文章

Redis笔记- HyperLogLog

redis 基础学习Redis HyperLogLog

云技术Redis学习笔记

redis学习笔记 - Pipeline与事务

redis学习3--redis功能 发布订阅,HyperLogLog,GEO,Lua等等

Redis学习-09 hyperloglog基本操作