Redis4 [Redis] redis.conf 기준 Redis 백업 방법 정리 (RDB vs AOF) 레디스는 인메모리 데이터베이스로, 매우 빠른 성능을 제공하지만 서버가 재시작되거나 종료되면 데이터가 휘발된다는 단점이 있다.따라서 레디스는 데이터를 안전하게 보존하고 유지하려면 디스크에 데이터를 저장하여 백업하는 방법이 필요하다. 이를 위해 레디스는 두 가지 영속화 옵션으로 RDB 방식과 AOF 방식을 제공한다. RDBRDB은 Redis Database File 약자로, 특정 시점의 데이터를 덤프 파일로 저장하는 방식이다. 재시작 시 덤프 파일을 통해 데이터를 복구한다. RDB 방식은 장점으로는스냅샷한 데이터 외의 부가적인 데이터가 없기 때문에 작은 파일 사이즈로 백업 파일 관리가 용이하다.파일 사이즈가 작기 때문에 원격지 백업, 버전 관리가 가능하다.fork를 이용해 백업을 하기 때문에 서비스 중인 프.. 2024. 10. 28. [Redis] Redis 캐싱 전략 패턴 정리 레디스는 인메모리 데이터 스토어로, 디스크 기반의 데이터베이스보다 빠르게 데이터를 응답할 수 있어 고객에게 빠르게 서비스를 제공할 수 있다. 하지만 메모리 용량은 16GB ~ 32GB 정도로 제한적이기 때문에 모든 데이터를 저장하기에는 용량 부족 현상이 일어날 수 있다.따라서 어떤 데이터를 저장할 것인지, 얼마나 데이터를 캐싱할 것인지, 어떤 데이터를 제거할 것인지에 대한 전략이 필요하다. 읽기 전략Look-Aside : 서버가 캐시를 먼저 조회하고, 캐시에 없을 경우 데이터베이스를 조회한다.Read-Through : 캐시를 통해서만 데이터를 읽어오는 전략이다. 쓰기 전략Write-Back : 모든 데이터를 캐시에 저장하고, 일정 시간 뒤에 데이터베이스에 저장한다.Write-Through : 데이터를 캐.. 2024. 10. 20. [Spring] 선착순 쿠폰 발급 요구사항 개발 (Redis, Kafka) 이번 포스팅에서는[Inflearn] 실습으로 배우는 선착순 이벤트 시스템 에서 실습한 내용을 기록하고자 하며, 아래 2가지 요구 사항을 만족하고 있다. 1. 쿠폰의 한정된 수량을 초과해서는 안된다.2. 쿠폰은 중복 지급이 불가하여, 1인당 1장만 지급되어야 한다. 위의 요구사항을 만족시키고, 아래 문제를 해결하기 위해 아래 기술을 사용하였다. 선착순이라는 특성으로, 동시성 문제가 반드시 발생할 것이라 예상하고 이를 해결하기 위해 Redis를 활용한다.INCR 커맨드 사용 : 쿠폰의 한정된 수량을 초과하지 못하도록 한다.SET 자료구조 사용 : 쿠폰을 1인당 1장만 지급되어야 하기 때문에 SET 자료구조를 사용하여 중복 지급을 막는다.Redis를 활용하여 동시성 문제를 해결할 수 있었으나, 동시에 많은 요.. 2024. 5. 16. [Spring] AOP 기반 Redis 분산락 적용 분산 시스템은 인터넷을 통해 연결된 컴퓨터가 하나의 시스템처럼 동작하는 환경을 말한다.따라서, 높은 처리량과 확장성, 고가용성을 보장해 준다. 하지만 분산 시스템은 데이터의 일관성 유지와 트랜잭션 관리 등 여러 복잡한 문제를 해결해야 하는 경우가 존재한다. 특히, 여러 노드가 동시에 공유 데이터를 변경하려고 할 때, 동시성 문제가 발생하여 데이터의 일관성이 무너지게 된다. 이를 방지하기 위해서는 분산락을 사용할 수 있고, 분산 락은 여러 노드가 동시에 접근 가능한 자원에 대한 접근을 하나의 노드만 접근할 수 있도록 제한한다. 이번 포스팅에서는[Inflearn] 재고시스템으로 알아보는 동시성이슈 해결방법 에서 배운 Redis를 활용하여 분산락을 구현하는 2가지 방법과유익한 블로그 글이었던 Kurly Tec.. 2024. 5. 11. 이전 1 다음