受过高等教育的我们都知道,我们所处的任何位置都可以用经度和纬度来标识,经度的范围 -180 到 180,纬度的范围为 -90 到 90。纬度以赤道为界,赤道以南为负数,赤道以北为正数;经度以本初子午线(英国格林尼治天文台)为界,东边为正数,西边为负数。
Redis 在 3.2 版本中增加了 GEO 类型用于存储和查询地理位置,关于 GEO 的命令不多,主要包含以下 6 个:
- geoadd:添加地理位置
- geopos:查询位置信息
- geodist:距离统计
- georadius:查询某位置内的其他成员信息
- geohash:查询位置的哈希值
- zrem:删除地理位置
下面我们分别来看这些命令的使用。
基础使用
添加地理位置
我们先用百度地图提供的经纬度查询工具,地址:
http://api.map.baidu.com/lbsapi/getpoint/index.html
如下图所示:
找了以下 4 个地点,添加到 Redis 中:
- 天安门:116.404269,39.913164
- 月坛公园:11