Redis中Geospatial地理位置详解

geospatial 地理位置

朋友的定位,附近的人,打车距离计算?
Redis的Geo 在Redis3.2 版本就推出了!这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人!
可以查询一些测试数据:http://www.jsons.cn/Ingcodeinfo/0706D99C19A781A3/

只有6个命令

getadd

#getadd 添加地理位置
#规则:两级无法添加,我们一般会下载城市数据,直接通过java程序一次性导入!
#参数 key 值(经度、纬度、名称)
Redis中Geospatial地理位置详解

getpos

获得当前定位:一定是一个坐标值!

Redis中Geospatial地理位置详解

GEODIST

两人之间的距离!
单位:
m 表示单位为米。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。

Redis中Geospatial地理位置详解

georadius以给定的经纬度为中心,找出某一半径内的元素

我附近的人?(获得所有附近的人的地址,定位!)通过半径来查询!
获得指定数量的人,200
所有数据都应该录入:china:city ,才会让结果更加清晰!

Redis中Geospatial地理位置详解

Redis中Geospatial地理位置详解

GEORADIUSBYMEMBER
找出位于指定元素周围的其他元素!

Redis中Geospatial地理位置详解

GEOHASH命令-返回一个或多个位置元素的Geohash 表示

该命令将返回11个字符的Geohash字符串!
Redis中Geospatial地理位置详解

GEO底层的实现原理其实就是Zset ! 我们可以使用Zset命令来操作geo!

Redis中Geospatial地理位置详解
ZRANGE china : city 0 - 1 #查看地图中全部的元素

zrem china : city beijing #移除指定元素!