一、Bitmaps数据类型
Bitmaps可以理解为string中二进制位中操作的接口
1.Bitmaps类型的基础操作
获取指定key对应偏移量上的bit值 getbit key offset #offset指偏移量,相对于第一个元素的位置,也可以理解为索引
设置指定key对应偏移量上的bit值,value只能是1或0
setbit key offset value
2.Bitmaps扩展操作
业务场景——应用于信息状态的统计
业务分析
比如"非诚勿扰"这部电影id为5,把这作为偏移量offset为4
统计每天有多少部电影被点播了,把里面1的个数统计一下就可以了
统计每周/月/年有多少部电影被点播,统计1的个数(显示每天的做或运算)
统计执行key中1的数量 bitcount key [start end] #[start end]指的是范围,不给就是全统计 对指定key按位进行交、并、非、异或操作,并将结果保存到destkey中 bitop op destkey key1 [key2...] #op指的是操作的类型包括:and(交)、or(并)、not(非)、xor(异或) #destkey指的是新保存的key名字
二、HyperLogLog数据类型
业务场景:用来统计不重复数据数量,应用于独立信息统计
1.基数
基数是数据集去重后元素个数,HyperLogLog是用来做基数统计的,运用了LogLog的算法
2.数据基本操作
添加数据 pfadd key element [element...]
统计数据 pfcount key [key...]
合并数据 pfmerge destkey sourcekey [sourcekey...]
3.相关说明
三、GEO
业务场景:计算两者之间的距离,地理位置计算
1.GEO类型的基本操作
添加坐标点 geoadd key longitude latitude member [longitude latitude member ...] #longitude横坐标,latitude纵坐标,member对应的名称 获取坐标点 geopos key member [member ...] #member指的是取得名称 计算坐标点距离 geodist key member1 member2 [unit] #unit指的是单位,m(米)、km(千米)
根据坐标求范围内的数据 georadius key longitude latitude radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count] #radius指的是相距的数字距离 根据点求范围内数据 georadiusbymember key member radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count] 获取指定点对应的坐标hash值 geohash key member [member...] #member指的是取的名称