Bitmaps
获取指定 key 对应偏移量上的 bit 值
getbit key offset
设置指定 key 对应偏移量上的 bit 值,value 只能说 0 或 1
setbit ket offset value
对指定 key 按位进行交、并、非、异或操作,并将结果保存到 destKet 中
bitop op destKet key1 [key2...]
and:交
or:并
not:非
xor:异或
统计指定 ket 中 1 的数量
bitcount key [start end]
HyperLogLog
用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据
核心是基数估计算法,最终数据存在一定误差
误差范围:基数估计的结果是一个带有 0.81 标准错误的近似值
耗空间小,美国 hyperloglog 占用 12K 的内存用于标记基数
pfadd 命令不是一次性分配 12K 内存使用,会随着基数的增加内存逐渐增大
pfmerge 命令合并后占用储存空间为 12K,无论合并之前数据量是多少
添加数据
pfadd ket element [element...]
统计数据
pfcount ket [key...]
合并数据
pfmerge destkey sourcekey [sourcekey...]
GEO
添加坐标点
geoadd key longitude latitude member [longitude latitude member ...]
获取坐标点
geopos key member [member ...]
计算坐标点距离
geodist key member1 member2 [unit]
根据坐标求范围内的数据
georadius ket longitude latitude radius m|km|ft|mi [withdist] [withhash] [withhash] [count count]
根据点求范围内的数据
georadiusbymember key member radius m|km|ft|mi [withdist] [withhash] [withhash] [count count]
获取指定点对应的坐标 hash 值
geohash key member [member ...]