HyperLogLogs
简介:是用来做基数统计的算法,优点是在输入元素的数量或者体积非常大时,计算基数的空间总是固定的并且很小。 基数是什么: 比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
命令: 添加:
PFADD key element element ...
PFADD runnoobkey "redis" "mysql" "java"
统计:
PFCOUNT key
PFCOUNT runnoobkey
合并:
PFMERGE destkey sourcekey sourcekey
PFMERGE runnoobkey key1 key2
GEO
简介:主要用于存储地理位置信息,并对存储的信息进行操作。 主要的操作方法:
- geoadd:添加地理位置的坐标
- geopos:获取地理位置的坐标
- geodist:计算两个位置的距离
- georadius:根据用户给定的经纬坐标获取指定的范围内的地理位置集合
- georadiusbymember:根据存储在位置集合中的某个地点获得指定范围内的地理位置集合
- goehash:返回一个或多个位置对象的geohash值
geoadd
geoadd 用于存储指定的地理空间位置,可以将一个或多个经度、纬度、位置名称添加到指定的key中。
GEOADD key longitude latitude member [longitude latitude member ...]
GEOADD Sicily 13.361389 38.115556 "Palermo" 15.087269 37.502669 "Catania"
geopos
geopos用于从给定的key里返回所有指定名称的位置,不存在的返回nif
GEOPOS key member [member ...]
GEOPOS Sicily Palermo Catania NonExisting
geodist
geodist 用于返回两个给定位置之间的距离
GEODIST key member1 member2 [m|km|ft|mi]
GEODIST Sicily Palermo Catania km
georadius、georadiusbymember
georadius 以给定的经纬度为中心,返回键包含的位置元素中,与中心的距离不超过给定最大距离的所有位置元素 georadiusbymember:区别在于,这里的中心点是由给定的位置元素决定的
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
GEORADIUS Sicily 15 37 200 km WITHDIST
GEORADIUSBYMEMBER Sicily Agrigento 100 km
geohash
Redis GEO 使用geohash来保存地理位置的坐标,用于获取一个或多个位置元素的geohash值
GEOHASH key member [member ...]
GEOHASH Sicily Palermo Catania