Spring, Spring Boot/Cache - Redis

개요 이번에는 Write Back 혹은 Write Behind 라고도 불리는 지연 쓰기 전략에 대해 적어보겠습니다. Write Back은 Write Through 처럼 데이터의 변경(수정, 삭제 등)이 일어날 때 캐시를 최신화, 일관성을 유지하는 전략입니다. 다만 다른 점은 Write Through는 캐시 데이터를 변경하면서 동시에 DB에 변경 사항을 반영하는데 Write Back 전략은 변경 사항을 모았다가 한 번에 DB에 반영합니다. 이 방법은 높은 트래픽 상황에서 응답 시간을 최적화 하는데 유용하지만 데이터 손실 위험이 있습니다. 장점과 단점 장점 빠른 응답 시간: 쓰기 요청에 대한 응답은 캐시 업데이트 후 즉시 반환되므로, 사용자에게는 빠른 응답 시간이 제공됩니다. 배치 처리의 효율성: 여러 쓰기..
개요 저번 시간에 Cache-Aside 와 Read Through를 통해 조회할 때 Redis에 캐싱된 정보를 한 번 찾고 Redis에 없으면 DB에서 가져오는 것을 배웠습니다. Cache에서 가장 중요한 것은 데이터가 변경(등록, 수정, 삭제) 될 때 그 내용을 반영하여 항상 최신화를 유지하는 것 입니다. Write Through 전략은 이 최신화를 유지하기 위한 전략으로 데이터를 Cache와 DB에 동시에 저장하는 방식입니다. 이는 캐시와 DB 간에 데이터 불일치가 발생해서는 안되는 상황에서 사용됩니다. 장점 / 단점 Write Through의 주요 장점은 Cache와 DB 사이에 데이터 불일치가 크게 줄어드는 것 입니다. 단점으로는 데이터를 두 군대에 기록하므로 쓰기 작업 성능이 느려질 수 있는 것..
개요 Read Through 전략은 메소드에 @Cacheable을 걸어서 자동으로 Redis에 캐싱을 하는 전략 입니다. 캐시 미들웨어가 직접 데이터 소스와 연동하여 캐시 누락시 자동으로 데이터를 로드 합니다. 즉, 자동화된 캐싱 전략이라 생각하면 될 거 같습니다. 이번에는 Read Through Cache를 기록하려 합니다. 흐름 API 요청 수신 캐시 확인 데이터가 존재할 경우 : 캐시된 값을 반환 데이터가 존재하지 않을 경우 : 캐시 미들웨어가 DB에서 데이터를 가져와 캐시에 저장한 후 값을 반환 전에 정리한 RedisTemplate, RedisHash를 이용해서 수동으로 Redis에 캐싱을 했습니다. 이러한 전략을 Cache-Aside 혹은 Lazy-Loading 이라 합니다. Read Throu..
개요 Redis 학습 과정에서 RedisHash 말고도 RedisTemplate 방법이 있다는 것을 알았습니다. 프로젝트를 진행하면서 JPA로 MySQL과 매핑된 Product 클래스를 Redis에 저장해보고 싶었습니다. @RedisHash 랑 @Entity를 한 클래스에 동시에 사용하는 것은 가능은 하지만 두 개의 저장소에 동시에 매핑됨으로 복잡하고 에노테이션 충돌이 발생할 수도 있고 불안한 점이 많았습니다. 이 때 RedisTemplate을 학습하고 적용했습니다. RedisTemplate RedisTemplate는 Spring Data Redis에서 제공하는 핵심 클래스로 Redis 연산을 수행하기 위한 기본적인 템플릿을 제공합니다. RedisTemplate을 원하는 대로 커스텀하여 Spring Bo..
개요 Redis는 인메모리 저장소 Key : Value 형태로 저장되며 캐시 서버로 자주 사용되며 성능 향상, 분산 처리 등 여러 방면에서 도움을 줍니다. Spring Boot와 Redis를 연결하여 객체를 Redis를 저장하고 조회하는 작업을 정리해보려 합니다. 작업 순서 1. build.gradle 파일에 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-redis' 2. application.yml 파일에 Redis 연결 정보 추가 spring: redis: host: localhost port: 6379 3. Redis와 연결할 객체 생성 package com.dotd.product.redis.entity; impor..
너지살
'Spring, Spring Boot/Cache - Redis' 카테고리의 글 목록