Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、网站设计、安陆网络推广、微信小程序开发、安陆网络营销、安陆企业策划、安陆品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供安陆建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
Redis GEO 操作方法有:
geoadd 用于存储指定的地理空间位置,可以将一个或多个经度(longitude)、纬度(latitude)、位置名称(member)添加到指定的 key 中。
geoadd 语法格式如下:
GEOADD key longitude latitude member [longitude latitude member ...]
以下实例中 key 为 Sicily,Palermo 和 Catania 为位置名称 :
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEODIST Sicily Palermo Catania
"166274.1516"
redis
> GEORADIUS Sicily
15
37
100 km
1
)
"Catania"
redis
> GEORADIUS Sicily
15
37
200 km
1
)
"Palermo"
2
)
"Catania"
redis
>
geopos 用于从给定的 key 里返回所有指定名称(member)的位置(经度和纬度),不存在的返回 nil。
geopos 语法格式如下:
GEOPOS key member [member ...]
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEOPOS Sicily Palermo Catania NonExisting
1
)
1
)
"13.36138933897018433"
2
)
"38.11555639549629859"
2
)
1
)
"15.08726745843887329"
2
)
"37.50266842333162032"
3
)
(nil
)
redis
>
geodist 用于返回两个给定位置之间的距离。
geodist 语法格式如下:
GEODIST key member1 member2 [m|km|ft|mi]
member1 member2 为两个地理位置。
最后一个距离单位参数说明:
> 计算 Palermo 与 Catania 之间的距离:
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEODIST Sicily Palermo Catania
"166274.1516"
redis
> GEODIST Sicily Palermo Catania km
"166.2742"
redis
> GEODIST Sicily Palermo Catania mi
"103.3182"
redis
> GEODIST Sicily Foo Bar
(nil
)
redis
>
georadius 以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。
georadiusbymember 和 GEORADIUS 命令一样, 都可以找出位于指定范围内的元素, 但是 georadiusbymember 的中心点是由给定的位置元素决定的, 而不是使用经度和纬度来决定中心点。
georadius 与 georadiusbymember 语法格式如下:
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key] GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
参数说明:
georadius 实例:
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEORADIUS Sicily
15
37
200 km WITHDIST
1
)
1
)
"Palermo"
2
)
"190.4424"
2
)
1
)
"Catania"
2
)
"56.4413"
redis
> GEORADIUS Sicily
15
37
200 km WITHCOORD
1
)
1
)
"Palermo"
2
)
1
)
"13.36138933897018433"
2
)
"38.11555639549629859"
2
)
1
)
"Catania"
2
)
1
)
"15.08726745843887329"
2
)
"37.50266842333162032"
redis
> GEORADIUS Sicily
15
37
200 km WITHDIST WITHCOORD
1
)
1
)
"Palermo"
2
)
"190.4424"
3
)
1
)
"13.36138933897018433"
2
)
"38.11555639549629859"
2
)
1
)
"Catania"
2
)
"56.4413"
3
)
1
)
"15.08726745843887329"
2
)
"37.50266842333162032"
redis
>
georadiusbymember 实例:
redis
> GEOADD Sicily
13.583333
37.316667
"Agrigento"
(integer
)
1
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEORADIUSBYMEMBER Sicily Agrigento
100 km
1
)
"Agrigento"
2
)
"Palermo"
redis
>
Redis GEO 使用 geohash 来保存地理位置的坐标。
geohash 用于获取一个或多个位置元素的 geohash 值。
geohash 语法格式如下:
GEOHASH key member [member ...]
实例:
redis
> GEOADD Sicily
13.361389
38.115556
"Palermo"
15.087269
37.502669
"Catania"
(integer
)
2
redis
> GEOHASH Sicily Palermo Catania
1
)
"sqc8b49rny0"
2
)
"sqdtr74hyu0"
redis
>
当前文章:创新互联Redis教程:RedisGEO
网页路径:http://www.mswzjz.cn/qtweb/news38/219238.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能