Redis 지리공간 데이터 타입
Redis 지리공간 데이터 타입 (Geospatial)
Redis의 지리공간(Geospatial) 데이터 타입에 대해 알아볼게요. 좌표를 저장하고 검색해서, 가까운 지점을 찾는 상황에 아주 유용해요.
Redis 지리공간 인덱스는 좌표를 저장하고 검색할 수 있게 해줘요. 이 데이터 구조는 주어진 반경(radius)이나 경계 상자(bounding box) 안에 있는 가까운 지점을 찾는 데 유용해요.
⚠️ 참고:
지리공간 데이터 타입을 Redis Search의 Geospatial 기능과 혼동하지 않도록 주의하세요. 두 기능 사이에는 몇 가지 유사점이 있지만, 데이터 타입은 더 단순한 사용 사례를 위한 것이고 Redis Search에서 사용할 수 있는 다양한 형식 옵션과 쿼리는 없어요.
예시 (Examples)
현재 위치에서 가장 가까운 자전거 대여 스테이션을 모두 찾아주는 모바일 앱을 만든다고 가정해볼게요.
먼저 지리공간 인덱스에 여러 위치를 추가해요.
GEOADD bikes:rentable -122.27652 37.805186 "station:1"
GEOADD bikes:rentable -122.2674626 37.8062344 "station:2"
GEOADD bikes:rentable -122.2469854 37.8104049 "station:3"
위치 데이터를 저장하기 위해 GEOADD로 지리공간 인덱스에 지리 좌표를 추가했어요.
다음으로 주어진 위치에서 5킬로미터 반경 안의 모든 위치를 찾고, 각 위치까지의 거리를 반환해볼게요.
GEOSEARCH bikes:rentable FROMLONLAT -122.27652 37.805186 BYRADIUS 5 km
반경이나 경계 상자 안의 위치를 찾을 때는 GEOSEARCH를 사용해서 주변 지점을 탐색할 수 있어요.
주요 명령 정리 (Command summary)
지리공간 데이터 타입과 관련된 명령은 총 10개가 있어요.
GEOADD— 하나 이상의 지리 좌표를 추가해요.GEOSEARCH— 반경이나 경계 상자 안의 위치를 검색해요.GEODIST— 두 지점 사이의 거리를 반환해요.GEOPOS— 멤버의 경도/위도를 반환해요.GEOHASH— 멤버의 지오해시를 반환해요.
자세한 명령 목록은 지리공간 명령 참조를 확인하세요.
더 알아보기 (Learn more)
- Redis Geospatial Explained — 지역 공원 명소 지도를 만들면서 지리공간 인덱스를 소개해요.
- Redis University의 RU101 — Redis 지리공간 인덱스를 자세히 다뤄요.