redis特殊数据类型
hyperloglog
基数统计
有一定的错误率
#添加
pfadd key value1 value2 value3 ...
#统计
pfcount key1 key2
#合并
pfmerge new_key key1 key2 ...
Geospatial
3.2之后才有的
地理位置
有效的经度从-180度到180度。
有效的纬度从-85.05112878度到85.05112878度。
#添加
geoadd key longitude1 latitude1 city_name1 longitude2 latitude2 city_name2 ...
#获取城市经纬度
geopos key city_name
#返回两个给定位置之间的距离。
geodist key city_name1 city_name2 [m/km/ft/mi]
#以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。
georadius key longitude latitude radius [m/km/ft/mi] [withcoord] [withdist] [withhash] [COUNT count] [ASC/DESC]
#和上边一样,不过是直接根据城市来找,不用填经纬度
georadiusbymember key city_name radius [m/km/ft/mi] [withcoord] [withdist] [withhash] [COUNT count] [ASC/DESC]
#返回一个11位的hash值
geohash key city_name1 city_name2 ...
#删除
zrem key city_name1 city_name2 ...
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
PS: 增删改查可以用z有序集合的api来操作,因为底层就是有序集合
Bitmaps
位存储
用的内存小,挺好
#设置
setbit key index value
#获取
getbit key index
#统计 真 个数
bitcount key