반응형

이 글에서는 이클립스(Eclipse)와 스프링 부트(Spring Boot)가 아닌 스프링(Spring)에서 Redis를 사용할 때 사용했던 코드를 정리한다.


개발환경

Eclispe 2021-06 v4.20.0

Spring 4.3.25.RELEASE

redis.clients.jedis 2.9.0(jedis-2.9.0.jar 사용)


1. Jedis 연결

JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();

 

JedisPoolConfig를 사용하여 커넥션 풀을 설정할 수 있다.

JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(...);
jedisPoolConfig.setMaxIdle(...);
jedisPoolConfig.setMinIdle(...);
jedisPoolConfig.setMaxWaitMillis(...);
...

 

jedisPool을 생성한다.

파라미터 순서는 jedisPoolConfig, 호스트(IP), PORT 번호, Redis TimeOut, 패스워드 순이다.

JedisPool pool = new JedisPool(jedisPoolConfig, REDIS_HOST, Integer.parseInt(REDIS_PORT), 
				Integer.parseInt(REDIS_TIMEOUT), REDIS_PASSWORD);

 

2. Jedis 로직 추가

try {
			jedis = pool.getResource();
			
			//2 Redis에 데이터 넣기
			jedis.hset(JSESSIONID, "JSESSIONDID", sessionId);
		} catch (Exception e) {
			// TODO: handle exception
			log.debug(e);
		} finally {
			if(jedis != null) {
				jedis.close();				
			}
		}

 

여기서 가장 중요한 것은 jedis를 연결했으면 꼭 close를 해줘야 한다. jedis.close()를 안해주면 그만큼 커넥션 수가 늘어가서 메모리에 부하가 온다.

 

3. Redis Key 전체 삭제하는 방법

1) redis-cli

> flushall

flushall

 

2) Java

> jedis.flushAll();

jedis.flushAll();

 

4. Redis Key 삭제하는 방법

1) redis-cli

> hdel key값

hdel key

 

2) java

> jedis.hdel(String형 Key 값);

> 아래의 예시는 jedis 라이브러리에서 sessionID에 해당하는 키를 삭제하는 코드.

//Redis 삭제
jedis.hdel(session.getId());

 

5. Redis Key에 저장된 모든 field명 가져오는 방법

1) redis-cli

> HKEYS Key

HKEYS ABCDE

 

2) java

> jedis.hkeys(key);

jedis.hkeys(key);

 

6. Redis Key에 저장된 모든 filed와 Value를 가져오는 방법

1) redis-cli

> HGETALL KEY

HGETALL KEY

 

2) java

> jedis.hgetAll(key);

jedis.hgetAll(key);

 

7. Redis Key 삭제하는 방법

1) redis-cli

> DEL key

del ABCDE

 

2) java

> jedis.del(key);

jedis.del(ABCDE);

 


2022년 6월 09일 v1.0 작성

2022년 6월 10일 v1.1 작성

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기