기술 블로그
GG FACTORY 개발팀의 기술 경험과 노하우를 공유합니다.
Redis 캐시 키 보안 강화
Redis 캐시를 사용하는 애플리케이션에서 캐시 키 주입 공격 등의 보안 취약점을 예방하고, 안정적인 캐시 시스템 운영을 위해 안전하지 않은 외부 입력값이 캐시 키로 사용될 때 위험을 최소화하는 것을 목표로 하는 기본적인 방법입니다. 보안 강화를 통해 캐시 키 주입 공...
Redis 키는 영어랑 숫자만 사용해야할까?
Redis는 영어랑 숫자만 취급해야할까요? 정답은 "아닙니다." 하지만 실무에서는 영어와 숫자만 사용하는 게 좋습니다. 코드를 작성할 때 영어로 작성하는 걸 보면 당연한 결과일 수 있지만 이유를 살펴보겠습니다. Redis는 키는 사실 다 됩니다. UTF-8 완벽 지원 ...
Jackson Datatype JSR310 활용한 ObjectMapper LocalDateTime 변환 문제 해결
jackson-datatype-jsr310은 JSON 데이터와 Java 객체 간 변환을 담당하는 Jackson 라이브러리 확장 모듈입니다. 날짜 및 시간 API (JSR-310)을 Jackson이 올바르게 처리할 수 있도록 지원하는 핵심 기능을 제공합니다. 무슨 기능이...
Spring Boot와 Redis 기본 설정과 사용법
Spring Boot에서 Redia를 쉽게 연동하고 활용할 수 있도록 돕는 spring-boot-starter-data-redis의존성에 대해 사용 방법을 작성해봤습니다. spring-boot-starter-data-redis란? Spring Boot 환경에서 Redi...
Next.js Cache와 Redis Cache 사용 가이드
— 애플리케이션 성능 향상을 위한 캐시 전략 분석 — 1. 개요 오늘날 웹 애플리케이션은 빠른 응답 속도와 안정적인 데이터 제공이 필수입니다. 이를 위해 캐시(cache) 기술이 널리 활용되고 있는데요, Next.js에서는 내장 캐시 기능(예: g...
Redis Cluster 설정 방법에 대해서 알아보자
Redis는 빠르고 효율적인 인메모리 데이터 저장소로 많이 사용되며, Redis Cluster 를 설정하면 데이터의 분산 저장과 고가용성(High Availability)을 구현할 수 있습니다. Redis Cluster의 기본 개념과 설정 방법 을 쉽게 이해할 수 있도...
Redis 샤딩(Sharding), 데이터 분산을 통한 성능 최적화
샤딩(Sharding)이란? Redis는 기본적으로 단일 노드(싱글 인스턴스)에서 데이터를 저장하고 제공 하는 인메모리 데이터베이스입니다. 하지만 데이터가 많아지고 트래픽이 증가하면 한 개의 Redis 인스턴스만으로는 한계를 가질 수 있습니다. ✅ 샤딩(Sharding...
일본 지역을 타깃으로 한 Redis 캐시 구성 가이드
최근 다양한 웹 애플리케이션에서 빠른 응답 속도와 안정성을 확보하기 위해 Redis 를 활용하는 사례가 늘어나고 있습니다. 특히 일본 사용자를 대상으로 하는 서비스라면 도쿄 리전(ap-northeast-1)을 통해 지연 시간을 최소화할 수 있어요. 왜 Redis 캐시인...
인기 게시물 관리 DB로 직접 조회수를 관리할까? Redis로 캐싱할까?
게시물의 “조회수” 기능은 블로그나 커뮤니티, 뉴스 사이트 등에서 매우 중요한 요소입니다. 특히 트래픽이 많은 서비스라면, 조회수를 효율적으로 관리하고 ‘인기 게시물’을 뽑아내는 과정이 서비스 품질에 직결될 수 있습니다. DB...
Redis를 이용한 캐싱 전략 및 성능 개선 팁
Redis는 고속의 메모리 기반 데이터 저장소로, 캐싱 솔루션으로 널리 사용됩니다. 캐싱을 효과적으로 활용하면 데이터 액세스 속도를 높이고, 서버 부하를 줄일 수 있습니다. 이 문서에서는 캐시 미스 최소화 전략과 만료 정책(LRU, LFU)에 대해 다룹니다. LRU(L...