跳至主要內容

2.10 Redis数据类型_Geospatia 🎉

刘春龙...大约 1 分钟数据库redis

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