반응형
이 글에서는 이클립스(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 작성
반응형
최근댓글