Redis(九)—— Geospatial地理位置的使用

Redis的GEO模块提供了存储和操作地理位置信息的功能,包括添加坐标(geoadd)、获取坐标(geopos)、计算距离(geodist)、按范围查询(georadius、georadiusbymember)和获取geohash值。这些命令支持米、千米、英里和英尺等单位,可用于实现基于位置的服务,如获取指定范围内城市等。GEO数据在底层实现上利用了zset,通过geohash编码进行索引。

Redis(九)—— Geospatial地理位置

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。

Redis GEO 操作方法有:

  • geoadd:添加地理位置的坐标。
  • geopos:获取地理位置的坐标。
  • geodist:计算两个位置之间的距离。
  • georadius:根据用户给定的经纬度坐标来获取指定范围内的地理位置集合。
  • georadiusbymember:根据储存在位置集合里面的某个地点获取指定范围内的地理位置集合。
  • geohash:返回一个或多个位置对象的 geohash 值。

geoadd:添加地理位置的坐标。

geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。南北两级无法添加。

平时,我们一般会直接下载城市数据,然后通过java程序导入。

经度范围是0-180°,纬度范围是0-90°。

 127.0.0.1:6379> geoadd china:city 116.40 39.90 beijing
 (integer) 1
 127.0.0.1:6379> geoadd china:city 106.50 29.53 chongqing 121.47 31.23 shanghai
 (integer) 2

geopos:获取地理位置的坐标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万里顾—程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值