개요
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 -p 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 예제
'Database > Redis' 카테고리의 다른 글
[Redis] Jedis 에서 Sentinel 의 pub/sub 을 제대로 인지할까? (0) | 2020.12.27 |
---|---|
[Redis] Jedis 에서 Redis Sentinel 을 통한 마스터 정보 얻는 방법 (0) | 2020.12.23 |
[Redis] 레디스 failover-abort-no-good-slave 오류 해결방법 (0) | 2020.11.22 |
[Redis] 레디스 failover-abort-slave-timeout 오류 해결방법 (0) | 2020.11.22 |
[Redis] INFO 명령어로 조회되는 대상 의미 파악 (0) | 2020.07.17 |