redis-geo

邮差的信 提交于 2020-03-17 01:17:37

某厂面试归来,发现自己落伍了!>>>

geoadd

描述:

将指定的地理空间位置(纬度、经度、名称)添加到指定的 key 中。

语法:

geoadd key longitude latitude member [longitude latitude member]

示例:

geoadd mer:geo 115.35896290753172 38.82942142950043 mer_1 geoadd mer:geo 115.35913456890867 38.82959694594066 mer_2 geoadd mer:geo 115.35926331494139 38.82920412283191 mer_3 geoadd mer:geo 115.36064733479307 38.82906203734401 mer_4 geoadd mer:geo 115.35911311123655 38.82799220809232 mer_5

geopos

描述:

从 key 里返回所有给定位置元素的位置(经度和纬度)

语法:

geopos key member [member ...]

示例:

geopos mer:geo mer_1 mer_2 mer_3

geodist

描述:

返回两个给定位置之间的距离。 备注: 指定单位的参数 unit 必须是以下单位的其中一个: m 表示单位为米。 km 表示单位为千米。 mi 表示单位为英里。 ft 表示单位为英尺。 如果用户没有显式地指定单位参数, 那么 GEODIST 默认使用米作为单位。

语法:

geodist key member1 member2 [unit]

示例:

geodist mer:geo mer_1 mer_2 m geodist mer:geo mer_1 mer_3 m

geohash

描述:

返回一个或多个位置元素的 Geohash 表示。 作用:将二维的经纬度转换成字符串。

语法:

geohash key member [member ...]

示例:

geohash mer:geo mer_1 geohash mer:geo mer_1 mer_2

georadius

描述:

以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。 备注: 范围可以使用以下其中一个单位: m 表示单位为米。 km 表示单位为千米。 mi 表示单位为英里。 ft 表示单位为英尺。 在给定以下可选项时, 命令会返回额外的信息: WITHDIST: 在返回位置元素的同时, 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。 WITHCOORD: 将位置元素的经度和维度也一并返回。 WITHHASH: 以 52 位有符号整数的形式, 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试, 实际中的作用并不大。 COUNT 限定返回的记录数 命令默认返回未排序的位置元素。 通过以下两个参数, 用户可以指定被返回位置元素的排序方式: ASC: 根据中心的位置, 按照从近到远的方式返回位置元素。 DESC: 根据中心的位置, 按照从远到近的方式返回位置元素。

语法:

GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD][withdist] [WITHHASH][count count] [ASC|DESC][store key] [STOREDIST key]

示例:

georadius mer:geo 115.35973538372801 38.82910382722311 1 km georadius mer:geo 115.35973538372801 38.82910382722311 1 km withdist georadius mer:geo 115.35973538372801 38.82910382722311 1 km withdist count 3 asc

georadiusbymember

描述:

和 GEORADIUS 命令一样, 都可以找出位于指定范围内的元素, 但是 GEORADIUSBYMEMBER 的中心点是由给定的位置元素决定的, 而不是像 GEORADIUS 那样, 使用输入的经度和纬度来决定中心点 备注: 同 georadius

语法:

GEORADIUSBYMEMBER key member radius m|km|ft|mi [WITHCOORD][withdist] [WITHHASH][count count]

示例:

georadiusbymember city:geo beijing 1000 km withcoord withdist withhash count 10 asc

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!