Redis:特殊类型geospatial(地理位置类型,纬经度)

redis地理空间中文文档:http://www.redis.cn/commands/geoadd.html

主要用于计算地理位置的经纬度让后将结果返回给视图

 

 

 1.geoadd 指令

 #geoadd 添加地理位置

#规则:两级无法直接添加,在实际业务中一般会下在城市数据,直接通过java程序一次性导入

#格式:geoadd {key name} {纬度} {经度}

注意:有效经度范围:-180度到180度

   有效的纬度范围:-85.05112878度到85.05112878度

      当坐标位置超出上述指定范围时,该命令将会返回一个错误

 

 

2.geopos 获取当前定位,是一个纬经度的值

格式:geopos {key name} {member}  #key允许用 :(冒号)去实现key的分级结构

 

 3.grodist 返回两个给定位置之间的距离

格式:geodist {keyname} {member1} {member2} {unit}

单位(unit):m,km,mi(英里),ft(英尺)

 

 4.geraduius以给定的经纬度为中心,找出指定半径内的元素

使用环境:搜索附近的人 

所有数据的key应有一定的格式: eg:china:city

格式:georadius  {key name} {纬度} {经度} {unit} {withcoord} {count}   #可以在搜索的基础上

 

 5.georadiusbymember 以给定的城市(key里的值)为中心,找出给定半径内的城市

 

 6.geo底层的实现原理其实就是zset,所以可以用zset去操作geo

在官方文档中geo类型没有说明相关的删除指令,所以用zset(可以操作geo类型数据)

 

 

 

posted @ 2021-03-25 18:47  凸然猿  阅读(237)  评论(0编辑  收藏  举报