1. geoadd
geoadd locationset longitude latitude name [longitude latitude name] :将给定的一个或多个经纬度坐标存储到位置集合中,并为这些坐标设置相应的名字
向位置集合添加坐标的时候,如果用户给定的位置在集合中已经有了与之相关联的坐标,相当于更新坐标
2. geopos
geopos locationset name [name] :返回一个数组作为执行结果,数组中的每个项都与用户给定的位置相对应
3. geodist
geodist locationset name1 name2 :计算两个给定位置之间的直线距离
- 指定单位
4. georadius
georadius locationset longitude latitude radius unit
- location_set参数用于指定执行查找操作的位置集合
- longitude参数和latitude参数分别用于指定中心点的经度和纬度
- radius参数用于指定查找半径
- unit参数用于指定查找半径的单位
example:
建立上面6个城市的地理坐标,以肇庆市的地理坐标为中心点:
- 返回被匹配位置与中心点之间的距离
- 返回被匹配位置的坐标
- 排序查找结果
- 限制返回数量
5. GEORADIUSBYMEMBER
georadiusbymember locationset name radius unit :通过选择位置集合中的一个位置作为中心点指定半径范围内的其他位置
georadius命令以给出的经度纬度作为中心点,georadiusbymember以集合中的位置作为中心点,其他作用与georadius一样
6. geohash
geohash locationset name1 name2 name3.... :获得这些位置对应的经纬度坐标的Geohash表示
7. 使用有序集合命令操作GEO数据
当用户调用GEO命令对位置集合进行操作时,这些命令实际上是在操作一个有序集合
当使用geoadd命令时:
- 将经纬度转换为Geohash值(分数)
- 将Geohash值(分数)和地名(键)加入到有序集合中
其他应用与有序集合的命令也可以用于地理坐标集合
参考数目: 《Redis使用手册》 黄健宏
|