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:获取地理位置的坐标

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

被折叠的 条评论
为什么被折叠?



