1.前言
Redis 3.2 中增加了对GEO类型的支持。GEO,Geographic,地理信息的缩写。该类型,就是元素的2维坐标,在地图上就是经纬度。redis基于该类型,提供了经纬度设置,查询,范围查询,距离查询,经纬度Hash等常见操作。
2.常用命令
1. geoadd {key} {longitude} {latitude} {member} [longitude latitude member…]
使用 geoadd<key>< longitude><latitude><member> [longitude latitude member...]
向对应的 key 中添加 longitude 经度 latitude 纬度 及名称 member
可以一次性添加多个 返回添加成功的个数
添加成功返回 1
注意: 两极无法直接添加 有效的经度从 -180 度到 180 度。有效的纬度从 -85.05112878 度到 85.05112878 度。当坐标位置超出指定范围时,该命令将会返回一个错误。
已经添加的数据,是无法再次往里面添加的。
2. geopos {key} {member} [member…]
使用 geodist<key> <member1> <member...> 命令
返回对应 key 中 名称 member 对应的经纬度
3. geodist {key} {member1} {member2} [m|km|ft|mi ]
使用 geodist<key><member1><member2> [m|km|ft|mi ] 命令
返回 指定key中 member1 和 member2 的直线距离
可以指定单位
m 表示单位为米[默认值]。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位
4. georadius {key} {longitude} {latitude} radius m|km|ft|mi
使用 georadius<key>< longitude><latitude>radius m|km|ft|mi 命令
返回指定 key 中 给定的 longitude 经度 latitude 纬度为圆心 radius半径内的元素 radius可以指定单位
m 表示单位为米[默认值]。
km 表示单位为千米。
mi 表示单位为英里。
ft 表示单位为英尺。
3.结尾
本篇博客简单介绍Redis中的新数据类型Geospatial及其常用命令,常用于经纬度操作,别的内容小编就没有过多的介绍了,后续专栏将会更新更多优质的相关内容,感兴趣的小伙伴不妨点个关注,感谢各位读者朋友。