채팅 메시지 캐시와 배치 저장
Redis ZSet을 채팅 메시지 캐시로 사용하고, Spring Batch로 PostgreSQL에 이관하는 저장·조회 흐름을 구현했습니다.
Redis ZSet, Spring Batch, JDBC batchUpdate, PostgreSQL
최근 메시지는 Redis에서 읽기
채팅 메시지는 Redis ZSet에 먼저 저장했습니다. 조회는 cursor pagination으로 나누고, 캐시에 없는 구간만 PostgreSQL에서 채웠습니다.
배치로 영속 저장하기
Redis에 먼저 쌓인 메시지는 Spring Batch와 JDBC batchUpdate로 PostgreSQL에 옮겼습니다. 실시간 메시지 수신과 관계형 데이터베이스 저장을 나눈 구조입니다.