Database/Redis

[Redis] 리눅스환경에서 JAVA 와 Jedis 로 Redis 접속하는 방법

꽁담 2020. 12. 20. 01:38

개요


Java 에서 Jedis 혹은 Lettuce 를 사용하여 Redis 에 접속할 수 있습니다.

 

이 중 Jedis 를 다뤄볼 예정이고

Jedis 는 Redis 기능을 사용할 수 있는 여러 기능들을 모아놓은 라이브러리라고 보시면 됩니다.

 

 

테스트 환경


Jedis 기능을 테스트하기 위해서 Ubuntu 환경에서 진행했습니다.

Windows 환경에서 Jedis 기능을 사용하려는 분들에게는 이 포스팅이 적절하지 않을 수 있습니다.

OS Ubuntu 18.04
Java openjdk 1.8.0_275
Redis 2.8.21
Jedis 2.9.0

 

사전에 진행된 부분

1. Ubuntu 에 Java (jdk)가 설치되어 있어야 합니다.

2. Ubuntu 에 Redis 가 설치되어 있어야 합니다.

 

 

Java 와 Jedis 를 연동하는 방법


1. Jedis 다운로드

Jedis 는 jar 파일로 구성되어 있고, jar 파일은 아래 경로에서 받을 수 있습니다.

https://jar-download.com/artifacts/redis.clients/jedis/2.9.0/source-code

 

다운로드 받은 압축파일을 푼 뒤 jar 파일 2개를 Ubuntu 서버로 전달합니다.

commons-pool2-2.4.2.jar

jedis-2.9.0.jar

wget 으로 어떻게 해보려고 했는데, URL 경로를 못찾겠네요.. ㅠㅠ

 

2. Jedis 를 CLASSPATH 에 등록

사용자 계정의 환경설정 파일의 CLASSPATH 에 jar 파일을 등록해 줍니다.

사용자 계정에 설정한건지 /etc/profile 로 전체 계정에 적용할 건지는 개인선택으로 맡기겠습니다.

1
2
3
$ cat ~/.bashrc
export
 CLASSPATH=.:$CLASSPATH:/home/psh/jedis/commons-pool2-2.4.2.jar
export CLASSPATH=.:$CLASSPATH:/home/psh/jedis/jedis-2.9.0.jar
cs

여기까지 진행했으면 이제 java 에서 Jedis 를 사용할 수 있습니다.

3. Java 예제 코드 작성

java 예제 코드를 작성합니다.

아래코드는 Java + Jedis 를 사용하여 Redis 에 접속한 후 NAME 과 URL Key 를 적재 및 조회하는 코드입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$ cat test.java
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
 
public class test { 
        public static void main(String[] args) {
                String IP = "localhost";
                int PORT = 6161;
                int TIME_OUT = 1000
                String PASSWORD = "P@ssword"
 
                JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); 
                JedisPool pool = new JedisPool(jedisPoolConfig , IP , PORT , TIME_OUT , PASSWORD );
 
            Jedis jedis = pool.getResource();
            jedis.set("NAME""Mozi");
            jedis.set("URL""mozi.tistory.com");
            System.out.println(jedis.get("NAME"+ " 의 블로그는 " + jedis.get("URL"+ " 입니다.");
 
                if (jedis != null) {
                        jedis.close();
                        jedis = null;
                }
                pool.close();
        }
}
cs

 

참고로 코드를 실행시키기 전에 6161 포트로 Redis 구동이 되어있어야 합니다.

1
2
$ ps -ef | grep redis
psh      10323     1  0 01:09 ?        00:00:01 /usr/local/bin/redis-server *:6161
cs

 

4. Java 코드 실행

자바 컴파일을 한 후, 클래스파일을 실행합니다.

NAME 과 URL 에 적재된 데이터가 정상적으로 조회되었습니다.

1
2
3
$ javac test.java
$ java test
Mozi 의 블로그는 mozi.tistory.com 입니다.
cs

 

5. Redis 에서 데이터 조회

Redis 에서도 데이터가 정상적으로 적재된 것을 확인할 수 있습니다.

1
2
3
4
5
$ redis-cli -6161 -a P@ssword
127.0.0.1:6161> get NAME
"Mozi"
127.0.0.1:6161> get URL
"mozi.tistory.com"
cs

 

 

 

 

 

 

 

Jedis 예제

Jedis 사용방법

Jedis Java 연동 방법

리눅스 환경에서 Jedis 사용방법

리눅스 환경 Jedis 예제