redis 3

[Redis Cache] Cache miss 전략

OilNow 프로젝트에선,데이터가 존재하지 않으면 db에 있는 데이터를 조회,redis에 데이터를 저장하는 cache miss 전략을 사용했습니다.Batch Job이 실행중일 때, DB로 직접 조회하게 될 경우 부하가 커질 수 있으며,데이터 처리 속도가 낮아질 수도 있기 때문에,데이터를 cache storage에 저장하여 조회 성능을 향상시켰습니다.package com.pj.oil.cache;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import..

Java 2024.02.27

[Spring Batch] Multiple Data source를 활용한 Spring Batch

한국석유공사-오피넷(외부 api)로부터 전국 유가 평균, 지역별 저렴 주유소 등의 json data와,한국석유공사-오피넷에서 전체 주유소 정보 및 주유소 가격을 csv파일로 받아서 DB에 삽입하기 위해,Spring Batch을 구현했습니다.다중 데이터 소스프로젝트에 다중 데이터 소스를 사용한 이유는 다음과 같습니다.Batch Job을 진행하는 동안 DB에 부하가 가해질 수 있으며,부하가 조회 성능을 저하시킬 우려가 있었습니다.따라서,데이터 입력에는 MariaDB를 사용하였고,데이터 조회에는 Redis를 사용하여 성능을 높였습니다. 인메모리형 데이터 스토리지인 Redis를 캐시 스토리지로 사용한 이유는 Redis가 2ms 미만의 조회 성능을 지녔고,다양한 자료형을 다룰 수 있으며, NoSQL로 확장성 및 ..

Java 2024.02.23

Redis(Remote Dictionary Server) 란?

1. Redis 란? Remote Dictionary Server를 나타내는 용어입니다. 빠른 오픈 소스 인 메모리 키 값 데이터 스토어 입니다. db, cache 등으로 사용되고 있습니다. 1 밀리초 미만의 응답시간을 제공하여 초당 수백만 건의 요청을 지원할 수 있습니다. 2. 이점 1. 성능 모든 Redis(Remote Dictionary Server) 데이터는 메모리에 상주하므로 데이터 액세스의 대기 시간을 낮추고 처리량을 높입니다. 기존 db와 달리, 인 메모리 데이터 스토어에는 디스크로의 이동이 필요하지 않기 때문에 엔진 대기 시간이 마이크로초 단위까지 줄어듭니다. 그 덕에 인 메모리 데이터 스토어는 더 많은 작업을 처리하고 더 빠른 응답 시간을 지원할 수 있습니다. 따라서 평균 읽기 및 쓰기 ..

DBMS 2023.11.14
728x90
반응형