GEOSEARCH

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

GEOSEARCH 조회

지정한 도시 또는 좌표로 주변 도시를 검색합니다.
이 명령은 georadiusbymember와 georadius 명령을 대체할 수 있습니다.

Example: 테스트 데이터 입력

명령>GEOADD map 126.97796919999996 37.566535 seoul
명령>GEOADD map 126.70520693063735 37.4562551 incheon
명령>GEOADD map 127.38454750000005 36.3504119 daejeon
명령>GEOADD map 129.07564160000004 35.1795543 busan

도시 또는 좌표 지정

이것은 필수 입력입니다.

  • FROMMEMBER: 도시를 기준으로 검색할 경우 사용합니다.
  • FROMLONLAT: 좌표(경도,위도)를 기준으로 검색할 경우 사용합니다.

반지름(원) 또는 사각형(box) 입력

이것은 필수 입력입니다.

  • BYRADIUS: 원의 반지름으로 검색합니다.
  • BYBOX: 사각형의 높이(height)와 폭(width)으로 검색합니다.
  • 거리는 m(meter), km(kilometer), ft(feet), mi(mile)로 입력할 수 있습니다.

Example: FROMMEMBER, BYRADIUS

명령>GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km
결과> 1) "incheon"
2) "seoul"
3) "daejeon"
명령>GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc
결과> 1) "seoul"
2) "incheon"
3) "daejeon"
명령>GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withcoord
결과> 1) 1) "seoul"
    2) 1) "126.97797149419784546"
        2) "37.56653579238348328"
2) 1) "incheon"
    2) 1) "126.70520693063735962"
        2) "37.45625514418296831"
3) 1) "daejeon"
    2) 1) "127.38454610109329224"
        2) "36.3504120662288841"
명령>GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withdist
결과> 1) 1) "seoul"
    2) "0.0000"
2) 1) "incheon"
    2) "27.0112"
3) 1) "daejeon"
    2) "140.0080"
명령>GEOSEARCH map FROMMEMBER seoul BYRADIUS 200 km asc withhash
결과> 1) 1) "seoul"
    2) (integer) 4077564854912194
2) 1) "incheon"
    2) (integer) 4077544197320088
3) 1) "daejeon"
    2) (integer) 4074568686606292

ASC/DESC

  • ASC: 거리가 가까운 순서로 보여줍니다.
  • DESC: 거리가 먼 순서로 보여줍니다.

WITHCOORD/WITHDIST/WITHHASH

  • WITHCOORD: 좌표(경도,위도)를 보여줍니다.
  • WITHDIST: 거리를 보여줍니다.
  • WITHHASH: 해시값을 보여줍니다.

COUNT <count>

항목 수를 제한하려면 COUNT 옵션을 사용합니다.

BYBOX로 검색할 경우

Example: FROMMEMBER, BYBOX

명령>GEOSEARCH map FROMMEMBER seoul BYBOX 200 200 km
결과> 1) "incheon"
2) "seoul"
명령>GEOSEARCH map FROMMEMBER seoul BYBOX 200 200 km asc withdist
결과> 1) 1) "seoul"
    2) "0.0000"
2) 1) "incheon"
    2) "27.0112"

FROMLONLAT로 검색할 경우

Example: FROMLONLAT

명령>GEOSEARCH map FROMLONLAT 127 38 BYRADIUS 200 km
결과> 1) "incheon"
2) "seoul"
3) "daejeon"
명령>GEOSEARCH map FROMLONLAT 127 38 BYRADIUS 200 km asc withdist
결과> 1) 1) "seoul"
    2) "48.2515"
2) 1) "incheon"
    2) "65.8043"
3) 1) "daejeon"
    2) "186.6152"
명령>GEOSEARCH map FROMLONLAT 127 38 BYBOX 200 200 km
결과> 1) "incheon"
2) "seoul"
명령>GEOSEARCH map FROMLONLAT 127 38 BYBOX 200 200 km asc withdist
결과> 1) 1) "seoul"
    2) "48.2515"
2) 1) "incheon"
    2) "65.8043"

명령문

GEOSEARCH key [FROMMEMBER member] [FROMLONLAT longitude latitude]
[BYRADIUS radius m|km|ft|mi] [BYBOX width height m|km|ft|mi] [ASC|DESC]
[COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH]

  • 이 명령은 version 6.2.0 부터 사용할 수 있습니다.
  • 논리적 처리 소요시간은 O(N+log(M)) 입니다.

<< GEOHASH GEOSEARCH GEOSEARCHSTORE >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.