Redis 5

Redis Operate

이번 글을 통해 Redis를 운영할 수 있는 방법들을 정리하겠다. Redis 운영 방식 Standalone가장 간단한 형태로, 하나의 서버에 Redis를 설치하고 실행하는 방식이다. 위 방법은 간단하지만, SPOF(Single Point of Failure)이기 때문에 실제 서비스에서는 사용할 수 없다. SentinelSentinel : a soldier or guard whose job is to stand and keep watch. Sentinel로 운영한다는 의미는 Redis Master와 Replication를 두고, Sentinel Process를 이용해 Master와 Replication의 상태를 계속 모니터링 하고, 문제가 발생하면 자동으로 대응해주도록 구성한다는 의미다. 가장 기본적인..

Infrastructure 2025.08.07

Redis Eviction Strategy

Redis는 데이터를 메모리에 저장하기 때문에 파일 시스템에 데이터를 저장하는 전통적인 데이터베이스보다 빠르게 원하는 데이터를 찾을 수 있다. 대신, 데이터를 저장할 수 있는 데이터 양은 전통적인 데이터베이스도보다 훨씬 적다. 따라서 Redis를 사용한다면, 메모리를 효율적으로 사용하는게 중요하다. 이번글을 통해 Redis에서 제공하는 Memory관련 설정과 Eviction 전략을 정리하겠다. Redis에서 지원하는 Eviction 전략Redis에서 메모리 관련해 제공해주는 옵션은 크게 maxmeory와 maxmemory-policy가 있다. maxmemoryThe maxmemory configuration directive specifies the maximum amount of memory to us..

Infrastructure 2025.07.24

Redis 성능의 비밀: 메모리부터 싱글 스레드까지 파헤치기

개발을 하다보면, 전통적인 데이터베이스만으로는 원하는 성능이 나오는 애플리케이션을 개발할 수 없습니다.이럴때 주로 캐시를 통해 서비스의 성능을 높입니다. 캐시도 다양한 솔루션들이 있지만, 그 중 가장 인기있는 솔루션은 Redis 입니다.https://db-engines.com/en/ranking_trend/key-value+store Redis는 빠르고, 다양한 자료구조를 지원해 개발자들이 좋아합니다.이번 글에서는 Redis가 어떻게 요청에 빠르게 응답하는지에 대한 비밀을 정리합니다. 1. 속도의 출발점: 인메모리(In-Memory) 아키텍처Redis 성능의 가장 근본적인 토대는 모든 데이터를 **RAM(메모리)**에 저장하는 것입니다.전통적인 데이터베이스는 데이터를 **디스크(HDD, SSD)**에 보..

Infrastructure 2025.05.21

Spring Data Redis Pub/Sub 파헤치기

들어가면서 Pub/Sub을 지원하는 도구라 하면 보통 RabbitMQ, Apache ActiveMQ, Amazon SQS 와 Apache Kafka를 생각할 것이다. 하지만 Redis도 NoSQL 기능에 더해 Pub/Sub을 지원한다. 이번 글에서는 Redis Pub/Sub과 Spring Data Redis가 어떻게 Redis Pub/Sub을 지원하는지 알아보겠다. 목차 1. Redis Pub/Sub 2. Spring Data Redis로 Redis Pub/Sub 사용하기 3. Spring Data Redis 코드 파헤치기 Redis Pub/Sub Redis의 Pub/Sub 지원은 일반적인 Pub/Sub 기술들과 유사하다. 1. 구독자는 토픽을 구독한다. 2. 토픽에 메시지가 발행될때 메시지가 구독자들에..

Spring 2023.06.28

[JWT 로그인 구현기] (3) Redis 도입하기

전편에서 refresh token을 MySQL에 저장했다. 그런데 내가 개발한 애플리케이션에서는 사용자 로그인, 토큰 재발급 요청이 들어올 때마다 refresh token 값이 수정된다. 쉽게 말해 MySQL IO 연산이 너무 자주 일어난다. 이는 성능적으로 문제가 있음을 느꼈고 개선하고 싶었다. 그래서 이번 편에서는 전편에서 생긴 성능 문제를 해결하기 위해 고민하고 공부한 내용을 공유하려 한다. Redis 성능에 대해 문제가 생길 것 같다고 생각한 이유는 MySQL은 데이터를 SSD, HDD에 저장하기 때문이다. 성능을 어떻게 올릴 수 있을까 고민하고 공부하면서 Redis를 알게 됐다. Redis? Redis는 Remote Dictionary Server로 key-value로 데이터를 저장하는 서버이다..

개발 경험기 2022.07.16