Java 환경에서 Redis 클라이언트(Jedis 및 Lettuce) 연동하기

Redis 서버 원격 접근 설정 Redis는 배포 시 기본적으로 127.0.0.1 루프백 인터페이스에만 바인딩되어 있어 외부 네트워크에서의 접근이 제한됩니다. 애플리케이션 서버가 원격에서 Redis 인스턴스와 통신하려면 redis.conf 구성 파일을 다음과 같이 수정해야 합니다. bind 127.0.0.1 지시어를 주석 처리하여 모든 네트워크 인터페이스에서 연결을 수락하도록 변경합니다. ...

9월 15일 17:23에 게시됨

Bucket4j와 Redis를 연동한 분산 환경의 고성능 트래픽 제어 시스템 구축

마이크로서비스 아키텍처(MSA)와 같이 여러 대의 서버로 구성된 분산 환경에서는 개별 서버 단위의 로컬 제한만으로는 전체 시스템의 부하를 정밀하게 관리하기 어렵습니다. 모든 인스턴스가 동일한 상태를 공유하며 일관된 제한 정책을 적용하기 위해 분산 트래픽 제한(Distributed Rate Limiting)이 필요합니다. 이를 위해 Java 진영의 대표적인 토큰 버킷 알고리즘 라이 ...

9월 11일 19:40에 게시됨

Jedis 연결 풀(JedisPool) 구성 및 Redis 캐시를 활용한 데이터 조회 최적화

1. Jedis 연결 풀(JedisPool) 기본 활용 Jedis를 통해 Redis와 통신할 때, 매번 새로운 연결을 생성하고 종료하는 것은 성능 저하의 원인이 됩니다. 이를 해결하기 위해 JedisPool을 사용하여 연결을 재사용합니다. 1.1 기본 연결 풀 생성 및 사용 가장 간단한 형태로 JedisPool을 초기화하고 연결을 가져오는 방법입니다. package com.example.redis.pool; import org. ...

8월 5일 20:49에 게시됨

Redis에서 발생하는 ClassCastException: java.util.ArrayList cannot be cast to java.lang.Long 문제 해결

/** * 연결 해제 * @param pool * @param jedis * @param <T> */ public static <T> void releaseConnection(Pool<T> pool, T jedis) { if (pool != null && jedis != null) { pool.returnResource(jedis); } } /** * 타임아웃 등 예외 발생 시 객체의 이전 명령 결과 ...

7월 21일 07:20에 게시됨

Java 애플리케이션을 활용한 Redis 클라이언트 연동 및 데이터 타입 실무

환경 구성 및 의존성 설치 Redis 서버가 로컬 또는 원격 환경에서 실행 중임을 가정하고, Java 기반 프로젝트에서 외부 스토어 접근을 위한 라이브러리 설치를 먼저 수행합니다. Maven 관리를 통해 필요한 종속성을 정의하며, 본 가이드에서는 Jedis와 Redisson 두 가지 주요 클라이언트를 활용하여 비교 분석합니다. pom.xml 파일 내부의 <dependencies> 영역에 다 ...

7월 4일 01:59에 게시됨

Redis 기초 개념과 활용 방법

Redis 개요 대규모 트래픽 처리의 핵심 과제는 다음과 같습니다: 수백만 사용자의 동시 접속 초당 수십만 건 이상의 요청 처리 기존 관계형 데이터베이스는 조인 연산 등 강력한 기능을 제공하지만 성능 한계가 명확합니다. 특히 디스크 I/O 병목 현상과 확장성 부족으로 인해 대용량 분산 환경에서 어려움을 겪습니다. 이러한 문제를 해결하기 위해 등장한 것이 NoSQL입 ...

5월 25일 21:40에 게시됨