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

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

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

제디스 도서관

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

해시 값

Hash는 필드-값 쌍의 맵으로 Java 객체와 같은 객체 유형을 나타내는 데 사용할 수 있습니다. Redis에서는 해시를 값으로 저장할 수 있으며, redis 데이터베이스에 저장된 해시 값을 저장, 관리 및 검색하기 위해 다양한 redis 명령이 사용됩니다. 여기에서 해시 명령에 대한 자세한 정보를 찾을 수 있습니다.

프로젝트 설정

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

  redis.clients  jedis  3.0.1

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

Redis 설치

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

제다이 커넥션

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

제디스 제디스 =새로운 제디스();

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

필드 값 생성 및 설정

해시 값 내부에 포함된 필드와 관련된 값을 설정하는 세 가지 방법이 있습니다. 다음과 같습니다 :-

  1. hset :-  해시 값의 해당 필드에 지정된 값을 설정합니다. 필드가 이미 있는 경우 해당 값을 덮어씁니다. key가 존재하지 않으면 set 작업을 수행하기 전에 해시 값을 포함하는 새 키가 생성됩니다.
    /* Insert name field in  */jedis.hset("hash-1", "name ", "존"); /* 에 이름 필드 삽입 */jedis.hset("hash-2".getBytes(), "name".getBytes(), "john".getBytes());
  2. hsetnx :- 필드가 존재하지 않는 경우에만 해시 값의 해당 필드에 지정된 값을 설정합니다. 필드가 이미 있는 경우 이 작업은 효과가 없습니다. key가 존재하지 않으면 set 작업을 수행하기 전에 해시 값을 포함하는 새 키가 생성됩니다.
    /* Insert name field in  */jedis.hsetnx("hash-1", "name ", "존"); /* 에 이름 필드 삽입 */jedis.hsetnx("hash-2".getBytes(), "age".getBytes(), "23".getBytes());
  3. hmset :- 지정된 값을 해시 값의 해당 필드(여러 필드/값 쌍)로 설정합니다. 지정된 필드가 이미 존재하는 경우 해당 값을 덮어씁니다. key가 존재하지 않으면 set 작업을 수행하기 전에 해시 값을 포함하는 새 키가 생성됩니다.
    /* Insert name 및 age 필드 in  */Map map =new HashMap <문자열, 문자열>();map.put("이름","john");map.put("나이","23");jedis.hmset("해시-1", 지도);

필드 값 가져오기

해시 값 내부에 포함된 필드와 관련된 값을 가져오는 두 가지 방법이 있습니다. 다음과 같습니다 :-

  1. hget :-  해시 값 내부에 포함된 단일 필드와 관련된 값을 반환합니다.
    /* 의 이름 필드 값 가져오기 */jedis.hget("hash-1", "name"); 
  2. hmget :- 해시 값 내부에 포함된 하나 이상의 필드와 관련된 값을 반환합니다.
    /* 의 이름 및 연령 필드 값을 가져옵니다. */jedis.hmget("hash-1", "name", "나이");

크기 

헬렌 메소드는 키에 저장된 해시 값에 포함된 필드 수를 가져오는 데 사용됩니다.

/* 의 필드 수를 반환 */jedis.hlen("hash-1");

삭제

hdel 메소드는 키에 저장된 해시 값에서 하나 이상의 필드를 삭제하는 데 사용됩니다.

/* 에서 이름과 나이 필드 제거 */jedis.hdel("hash-1", "name", "age"); /* 에서 이름과 나이 필드 제거 */jedis.hdel("hash-2".getBytes(),"name".getBytes(),"age".getBytes());

필드 존재 확인 

존재함 메소드는 지정된 필드가 해시의 구성원인지 여부를 확인하는 데 사용됩니다.

/* name이 의 멤버인지 아닌지 확인 */jedis.hexists("hash-1", "name");/* name이 의 멤버인지 확인 여부 */jedis.hexists("hash-2".getBytes(),"name".getBytes());

모두 가져오기

hgetall 메서드는 키에 저장된 해시 값에 포함된 모든 필드와 관련 값을 가져오는 데 사용됩니다.

/* 에서 모든 필드와 값을 반환 */jedis.hgetAll("hash-1");/* 에서 모든 필드와 값을 반환 */jedis.hgetAll( "해시-2".getBytes());

모든 키 가져오기

메소드는 키에 저장된 해시 값에 포함된 모든 필드의 이름을 가져오는 데 사용됩니다.

/* 에서 모든 필드 이름 반환 */jedis.hkeys("hash-1");/* 에서 모든 필드 이름 반환 */jedis.hkeys("hash-2 ".getBytes());

모든 값 가져오기

hval 메소드는 키에 저장된 해시 값에 포함된 모든 필드 값을 가져오는 데 사용됩니다.

/* 의 모든 값을 반환합니다. */jedis.hvals("hash-1");/* 의 모든 값을 반환합니다. */jedis.hvals("hash-2". getBytes());

참조:-

  1. 해시 명령 문서

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