2.10 Redis数据类型_Geospatia 🎉
...大约 1 分钟
2.10 Redis数据类型_Geospatia 🎉
GEO,Geographic,地理信息的缩写。该类型就是元素的二维坐标,在地图上就是经纬度。Redis基于该类型,提供了经纬度设置、查询、范围查询、距离查询、经纬度Hash等常见操作。
- geoadd
用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。
# 将北京的经纬度和名称添加到china
geoadd china 116.405285 39.904989 beijing
# 将成都和上海的经纬度、名称添加到china
geoadd china 104.065735 30.659462 chengdu 121.472644 31.231706 shanghai
- geopos
从给定的 key 里返回所有指定名称(member)的位置(经度和纬度),不存在的返回 nil。
# 返回china中名称为shanghai和beijing的经纬度
geopos china shanghai beijing
- geodist
用于返回两个给定位置之间的距离。
# 返回shanghai和beijing之间的距离,结果1067597.9668,单位米
geodist china shanghai beijing
# 返回shanghai和chengdu之间的距离,结果1660.0198,单位是千米
geodist china shanghai chengdu km
- georadius
以给定的经纬度(longitude latitude)为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离(radius )的所有位置元素。
#获取经纬度110 30为中心,在china内1200公里范围内的所有元素。
georadius china 110 30 1200 km
使用场景
附近的电影院
附近的好友
离最近的火锅店
Powered by Waline v2.15.7