Computer >> 컴퓨터 >  >> 프로그램 작성 >> Redis

Redis Jedis – jedis 라이브러리를 사용하여 지리적 값에 대한 CRUD 작업을 수행하는 방법

이 튜토리얼에서는 Jedis 라이브러리를 사용하여 지리적 값에 대한 CRUD 연산을 수행하는 방법에 대해 알아봅니다.

제디스 도서관

Jedis는 redis 데이터 저장소용 Java 클라이언트 라이브러리입니다. 작고 사용하기 매우 쉬우며 redis 2.8.x, 3.x.x 이상 데이터 저장소와 완벽하게 호환됩니다. jedis 라이브러리에 대한 자세한 정보는 여기에서 확인할 수 있습니다.

지리적 가치

Geospatial 값은 지구상의 특정 위치의 경도 및 위도 좌표를 포함합니다. Redis에서 Geospatial 요소는 키에 저장된 정렬된 설정 값으로 저장할 수 있으며 다양한 redis 명령을 사용하여 redis 데이터베이스에 저장된 지리 공간 값을 저장, 관리 및 검색합니다. . Geo 명령에 대한 자세한 정보는 여기에서 찾을 수 있습니다.

프로젝트 설정

좋아하는 IDE에서 간단한 maven 프로젝트를 만들고 pom.xml에 아래에 언급된 종속성을 추가합니다. 파일.

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>3.0.1</version>
</dependency>

jedis 라이브러리의 최신 버전은 이 페이지에서 확인하세요.

Redis 설치

최신 버전의 Redis를 설치해야 합니다. redis 설치에 대한 자세한 내용은 이 페이지를 확인하세요.

제다이 커넥션

Jedis의 개체 만들기 ( redis.clients.jedis.Jedis ) 자바 코드를 redis에 연결하기 위한 클래스

Jedis jedis = new Jedis();

로컬 시스템과 기본 포트(6379)에서 하나의 redis 서비스를 시작한 경우 기본 생성자가 제대로 작동합니다. 그렇지 않으면 올바른 호스트 URL과 포트 번호를 전달해야 합니다. 생성자에 대한 인수로.

만들기 및 추가

지역 추가 메소드는 키에 저장된 지리 공간 값( Sorted Set )에 하나 이상의 지리 공간 멤버를 추가하는 데 사용됩니다.

/* Insert London Geo Coordinate in <geo-1> */
jedis.geoadd("geo-1", 51.5074, 0.1278, "London");

/* Insert London and Paris Geo Coordinate in <geo-2> */
Map<String,GeoCoordinate> map = new HashMap<String, GeoCoordinate>();		
map.put("London", new GeoCoordinate(51.5074, 0.1278));
map.put("Paris", new GeoCoordinate(48.8566, 2.3522));
jedis.geoadd("geo-2", map);

지리 좌표 가져오기

지리정보 메소드는 키에 저장된 하나 이상의 지리 공간 값( Sorted Set ) 멤버의 GeoCoordinate(경도, 위도)를 가져오는 데 사용됩니다.

/* Returns GeoCoordinate of London and Paris from <geo-1> */
List geoCoordinates = jedis.geopos("geo-1", "London", "Paris");

GeoHash 가져오기

지오해시 메소드는 키에 저장된 하나 이상의 지리 공간 값( Stored Set ) 구성원의 유효한 Geohash 문자열을 가져오는 데 사용됩니다.

/* Returns GeoHash String of London and Paris from <geo-1> */
List geoStrings = jedis.geohash("geo-1", "London", "Paris");

두 구성원 간의 거리 

측지학자 메서드는 지정된 단위의 키에 저장된 지리 공간 값( Sorted Set )의 두 멤버 사이의 거리를 가져오는 데 사용됩니다. 단위는 m 단위로 지정할 수 있습니다. (미터), km (킬로미터), mi (마일), 피트 (피트).

/* Returns Distance between London & Paris in kilometers from <geo-1> */
Double distance = jedis.geodist("geo-1", "London", "Paris", GeoUnit.KM);

참조:-

  1. 지리 명령 문서

Jedis 라이브러리를 사용하여 지리적 값에 대한 CRUD 작업을 수행하는 방법은 여기까지입니다. 마음에 드셨다면 댓글 섹션에 의견을 공유하고 다른 사람들과도 공유해 주세요.