Redis之geospatial地理位置
geospatial地理位置
geoadd 添加地理位置
geoadd china:city 120.16 30.24 hangzhou 108.96 34.26 xian
geoadd china:city 106.50 29.53 chongqing 114.05 22.52 shenzhen
geoadd china:city 121.47 31.23 Shanghai 116.40 39.90 beijing
规则:两极无法添加,我们会下载城市数据,直接通过java程序一次性导入!
参数 key (纬度,经度,名称)
有效的经度从-180到180度
有效的纬度从-85.05112878度到85.05112878度
当坐标位置超出上述指定范围时,该命令就会返回一个错误提示。
geopos 获取指定城市的经度和纬度
geopos china:city Shanghai beijing
geodist 返回给定位置之间的距离,如果不存在,则返回一个空。
单位:m,km,mi ft
geodist china:city beijing Shanghai
geodist china:city beijing Shanghai km
georadius 以给定的经纬度为中心,找出某一半径内的元素
我附近人?(获取所有附近人的地址,定位)通过半径来查询
georadius china:city 110 30 1000 km
georadius china:city 110 30 500 km withdist
georadius china:city 110 30 500 km withcoord
georadius china:city 110 30 500 km withcoord withdist count 3
georadiusbymember 找出位于指定元素周围的其他元素
georadiusbymember china:city beijing 1000 km
geohash命令。 返回一个或者多个位置元素的geohash表示
将二维的经纬度转换为一维的11位字符串,如果两个字符串越接近,那么距离越近。
GEO底层的实现原理其实就是zset,我们可以使用zset命令来操作geo
删除位置元素
zrem china:city beijing
zrange china:city 0 -1
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/17009299.html

浙公网安备 33010602011771号