본문 바로가기

Back-End/Redis

(4)
JMeter를 활용하여 Redis 캐시 테스트 분석 테스트 조건(1)users(동시 접속자 수) : 100Duration(테스트 실행 시간) : 10초Loop Count : 10캐시 되지 않은 상점(storeId = 100)으로 V1(캐시 미적용)과 V2(캐시 적용)을 독립적으로 실행하여 성능 비교V2(캐시 적용)는 한 번의 요청 이후 Redis 캐시에 저장되어 사용됨.결과 비교➡️ V1 (캐시 미적용)➡️ V2 (캐시 적용)요청샘플 수 평군 응답 시간(ms)최소(ms)최대(ms)표준 편차처리량(ThrouhPut)Get Store V1 (No Cache)20006ms3ms63ms2.21ms73.3 req/sec요청샘플 수 평군 응답 시간(ms)최소(ms)최대(ms)표준 편차처리량(ThrouhPut)Get Store V2 (With Redis Cache)2..
트러블 슈팅 : Spring Data JPA 페이징 + Redis 캐시에서 직렬화/ 역직렬화 오류 발생 1. 문제 상황사용 기술 스택 : Spring Boot, Spring Data JPA, Redis, Spring Cache현상 : 특정 API에서 페이징된 엔티티 목록을 스프링 캐시에 저장했더니, 1차로 조회할 때는 DB에서 가져오므로 성공했지만 이후 캐시에서 데이터를 가져오면서InvalidDefinitionException 또는 Cannot construct instance of PageImpl 오류가 발생했습니다.2025-02-02T23:28:37.189+09:00 ERROR 38011 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in con..
Redis 캐싱 전략(CacheAside, Write Around)과 한계 캐시(Cache), 캐싱(Caching)[캐시 란?]캐시 란, 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소를 의미한다.[캐싱 이란?]캐싱이란, 캐시에 접근해서 데이터를 빠르게 가져오는 방식을 의미한다."이 API는 응답 속도가 너무 느린데? 이 응답 데이터는 캐싱 해두고 쓰는게 어때?"= 'API 응답 결과를 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소에 저장해두고, 빠르게 조회할 수 있게 만드는게 어때?' 데이터를 캐싱할 때 사용하는 전략(Cache Aside, Write Around)전략이 많지만 자주 쓰이는 2가지 전략[Cache Aside(= Look Aside, Lazy Loading) 전략데이터를 조회할 때 주로 사용하는 전략이 Cache Aside 전략이다. Lo..
Redis란?(feat. 기본 명령어와 Key 네이밍 컨벤션) Redis란?레디스(Redis)는 Remote Dictionary Server의 약자로서, “키-값” 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. - 위키백과 -쉽게 말해서 Redis는 데이터 속도가 빠른 NoSQL 데이터 베이스이다. (NoSQL 데이터는 key-value 구조의 DB이다)[Redis의 장점]Redis의 장점은 많지만 그 중 1개를 뽑자면 Redis는 In-Memory에 모든 데이터를 저장할 수 있어 데이터 처리 성능이 굉장히 빠르다.MySQL과 같은 DB는 디스크를 사용하지만 Redis는 RAM을 사용하기 때문에 데이터 처리 속도가 빠르다.[Redis의 주요 사용 사례]캐싱 (Caching)세션 관리 (Session..