Redis-Geo常用命令
Redis-Geo常用命令
应用场景:用于存储、处理经纬度
geoadd
将经度 纬度 位置名称 添加到指定的key中,一次可添加多个
127.0.0.1:6379> geoadd k1 116.402975 39.923568 故宫 # k1为key的名称,第一个长小数是经度,第二个是纬度。最后的故宫表示当前经纬度对应的名称 1
geopos
返回位置名称对应的经纬度
127.0.0.1:6379> geopos k1 故宫 #查看k1中位置名称为故宫的经纬度 116.40297621488571167 39.92356792901045281
geodist
返回两个位置之间的距离,可以设置距离单位:m、km...
127.0.0.1:6379> geodist k1 故宫 朝阳公园 km # 查看故宫和朝阳公园之间的距离,单位为km 8.0058
georadius
给定经纬度,并指定范围。以给定经纬度为准,查看某个key中是否有在此范围内的位置
k1:查询的key名称
116... 和 39....为给定的经度、纬度
20 km 为范围
127.0.0.1:6379> georadius k1 116.470492 39.931895 20 km # 在k1中查找给定的经纬度,20km以内的位置 故宫 朝阳公园
georadiusbymember
功能同上。区别在于上面的命令只能给定具体的经纬度,当前命令则可以访问key中的位置名称。
127.0.0.1:6379> georadiusbymember k1 朝阳公园 10 km # 与georadius不同的是,当前命令可以访问key中存储的位置 故宫 朝阳公园
geohash
返回指定位置经纬度的hash值
127.0.0.1:6379> geohash k1 朝阳公园 # 将k1中存储的朝阳公园的经纬度进行hash并返回 wx4g6bc2qt0