redis georadius
时间: 2023-06-28 14:05:29 浏览: 156
Redis的GEO命令可以通过地理位置坐标来对存储在Redis中的Key进行排序和查询。其中,georadius命令可以根据给定的经纬度和半径来获取指定范围内的所有地理位置信息。具体使用方法如下:
```
GEORADIUS key longitude latitude radius m|km|ft|mi [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]
```
参数说明:
- key:要查询的键名。
- longitude:经度。
- latitude:纬度。
- radius:半径距离。
- m|km|ft|mi:距离单位,分别为:米、千米、英尺和英里。
- WITHCOORD:返回坐标。
- WITHDIST:返回距离。
- WITHHASH:返回Geohash值。
- COUNT count:限制结果数量。
- ASC|DESC:排序方式。
- STORE key:将查询结果存储到另一个键值。
- STOREDIST key:将查询结果存储到另一个键值,并且存储值为距离。
使用示例:
```
127.0.0.1:6379> GEOADD Cities 116.46 39.92 Beijing 121.48 31.22 Shanghai 113.27 23.13 Guangzhou
(integer) 3
127.0.0.1:6379> GEORADIUS Cities 116.46 39.92 1000 km
1) "Beijing"
127.0.0.1:6379> GEORADIUS Cities 113.27 23.13 1000 km
1) "Guangzhou"
127.0.0.1:6379> GEORADIUS Cities 116.46 39.92 1000 km WITHCOORD WITHDIST
1) 1) "Beijing"
2) 1) "116.46"
2) "39.92"
3) "33.117"
3) "0.000"
```
以上示例中,首先使用GEOADD命令向Cities键中添加三个地理位置信息,然后使用GEORADIUS命令查询距离北京或广州1000公里以内的所有城市信息,并返回相应的坐标和距离。
阅读全文