【十五】redis衍生数据结构之GEO

GEO是redis3.2添加的一个特性。

用于计算地理位置信息相关的一些功能。

GEO可以用于存储经纬度、计算两地之间的距离、范围计算等。

GEO其实是使用zset来实现的。

比如在删除的时候可以使用zset的相关命令

zram key member

命令

geoadd key longitude latitude member 添加地理位置信息

node1:0>geoadd cities:locations 116.28 node1:0>39.55 beijing
"1"


node1:0>geoadd cities:locations 117.12 39.08 tianjin
"1"


node1:0>geoadd cities:locations 114.29 38.02 shijiazhuang 118.01 39.38 tangshan
"2"

node1:0>geoadd cities:locations 115.29 38.51 baoding
"1"

geopos key member [member...]  获取地理位置信息

geodist key member1 member2 [unit]  获取两个地理位置的距离 unit:m米 km千米 mi英里 ft尺

georadius key longitude latitude radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] 

georadius key member radiusm|km|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key] [storedist key] 

获取指定范围内的地理位置信息集合

withcoord:返回结果中包含经纬度

withdist:返回结果中包含距离中心节点位置

withhash:返回结果中包含geohash

COUNT count:指定返回结果的数量

asc|desc : 返回结果按照距离中心节点的距离做升序或者降序

store key :将返回结果的地理位置信息保存到指定键中

storedist key:将返回结果距离中心节点的距离保存到指定键

例子cities:locations中距离beijing 150km内的城市

猜你喜欢

转载自blog.csdn.net/jy02268879/article/details/81460567