반응형 레디스3 [Redis] Redis를 이용한 동시성 이슈 해결 실습 - Redlock https://bk0625.tistory.com/145 [Redis] Redis를 이용한 동시성 이슈 해결 실습해보기 - SETNX 사용 방법동시성 문제란?여러개의 프로세스나 스레드가 동시에 같은 리소스, 예를 들자면 데이터베이스나 캐시, 파일 등에 접근 할 때 예상 치 못한 데이터 충돌, 중복 실행, 무결성 문제가 발생하는 상황bk0625.tistory.com 지난 포스팅에서 Redis의 SETNX를 활용해 동시성 이슈를 해결해보았다. 해당 방법은 쉽게 구현할 수 있지만 여러 문제가 발생할 수 있다. SETNX 방식은 단일 Redis 노드에서만 동작한다. 즉 장애 발생 시 안전하지 않으며 여러 redis 인스턴스 활용 시 사용할 수 없다. 이런 멀티 노드 환경에서도 데이터의 정합성을 유지하고 동시성 문.. 2025. 2. 20. [Redis] Redis를 이용한 동시성 이슈 해결 실습해보기 - SETNX 사용 방법 동시성 문제란?여러개의 프로세스나 스레드가 동시에 같은 리소스, 예를 들자면 데이터베이스나 캐시, 파일 등에 접근 할 때 예상 치 못한 데이터 충돌, 중복 실행, 무결성 문제가 발생하는 상황이다. 대표적인 예시로는 재고 감소, 중복 결제 방지, 특정 작업의 중복 실행 방지 등이 필요 할 때 동시성 제어가 필요하다. Redis를 이용한 동시성 해결 방법 Redis를 활용하여 분산 락(distributed lock)을 사용하면, 하나의 작업이 끝날 때까지 다른 프로세스가 동일한 리소스를 변경하지 못하도록 막을 수 있다. Redis를 이용한 대표적인 동시성 해결 기법은 다음과 같다SETNX (SET if Not Exists) 사용Redlock 알고리즘 (분산 락 강화 버전) 사용이 두가지 방법을 nodejs.. 2025. 2. 20. [Redis] Redis란? 그 동안 프로젝트에 redis를 붙여봐야지 하고 한참을 미루다가 붙이기 전에 글로 정리하고자 쓰는 포스팅... Redis는 Key,Value 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다. 전체 데이터를 영구히 저장하기 보다는 캐쉬처럼 휘발성이나 임시성 데이터를 저장하는데 많이 사용된다. 디스크에 데이터를 주기적으로 저장하기는 하지만, 이 기능은 백업이나 복구용으로 주로 사용하고 데이터는 모두 메모리에 저장되기 때문에, 빠른 접근 속도를 자랑한다. 그렇다면 데이터를 저장하는 데이터 베이스가 있는데 왜 Redis라는 인메모리 데이터 구조 저장소를 사용하는 이유는 무엇일까? 일단 데이터베이스는 데이터를 직접 물리 디스크에 쓰기 때문에 서버에 문제가 발생.. 2023. 9. 11. 이전 1 다음 반응형