目录
一、Bitmaps(非黑即白||01||TF)
二、HyperLogLog(基数统计不重复)
三、GEO(地理位置)
一、Bitmaps(非黑即白||01||TF)
基本操作
setbit bits 0 1
getbit bits 0
image-20200830155344924.png
扩展操作
1.影视公司为减少成本,决定将一周之内没有被点播的电脑从云服务删除
2.统计是否被点播,不涉及单个电影点播次数问题
3.通过setbit存储,bits(00000001)占8位,可以表示id=1的电影被点播过
image-20200830160319494.png
bitop op destkey key1 key2 :交并集...操作
bitcount key : 有多少个1
image-20200830161935086.png
二、HyperLogLog(基数统计不重复)
统计不重复元素的个数
image-20200830172820895.png
命令
pfadd
pfcount
pfmerge
image-20200830173242311.png
注意事项
- 只是用于基数的<u>统计</u>,不存储数据
- 采用基数估算算法,最终数值存在一定误差(0.81%,访问量统计,查一点点问题不大)
- 占用空间极小,每个hyperloglog key占用了12K,而bitmap,string可达MB
- pfadd命令不是一次性分配12K内存使用,随着基数增加而逐渐增大
- pfmerge为了方便合并后(采用统一模型)占用空间为12K,无论之前数据量多少
三、GEO(地理位置)
基本操作
geoadd
geopos
geodist
image-20200830174719952.png
扩展操作
georadius
georadiusbymember
geohash
image-20200830184234749.png
tips23:redis应用于地理位置的计算