[Redis][실전레디스] 레디스 트랜잭션 MULTI-EXEC & Lua 스크립트
·
DB/Redis
Redis의 트랜잭션과 원자적 처리 방식Redis는 기본적으로 단일 스레드 기반으로 동작하며, 이를 활용한 단순한 트랜잭션 기능과 고급 제어를 위한 Lua 스크립트 기능을 제공합니다. 이 글에서는 Redis의 트랜잭션 개념과 그 한계, 그리고 Lua 스크립트를 통한 원자적 처리 방식에 대해 설명합니다. 1. Redis 트랜잭션 (MULTI / EXEC)Redis의 트랜잭션은 RDBMS의 ACID 트랜잭션과는 다르게, 명령어를 일괄적으로 순차 실행하는 방식입니다. 사용 예시MULTISET key1 "value1"SET key2 "value2"EXECMULTI로 트랜잭션을 시작하고,여러 명령을 큐에 쌓은 뒤,EXEC 명령을 통해 한 번에 실행합니다. 특징트랜잭션 내부의 명령어는 순차적으로 실행되며, 실행 중..
[Redis][실전레디스] 레디스 운용관리 - 스냅샷 심화
·
DB/Redis
Redis 스냅샷(RDB: Redis Database File)RDB는 Redis의 데이터를 특정 시점에 복제해 디스크에 저장하는 방식입니다. 이 저장본을 **스냅샷(Snapshot)**이라고 하며, .rdb 파일로 저장됩니다. Redis 서버가 재시작되면 해당 파일을 불러와 데이터를 복원합니다. RDB 저장 트리거 (자동 + 수동)1. 자동 저장설정 파일(redis.conf)에서 save 옵션으로 조건 정의조건 중 하나라도 만족하면 RDB 스냅샷 생성save 900 1 # 15분(900초) 동안 1개 이상의 키 변경 발생 시 저장save 300 10 # 5분 동안 10개 이상save 60 10000 # 1분 동안 1만 개 이상 2. 수동 저장명령어 사용SAVE: 동기식 저장 (Redis가 멈추고 저장 ..
[Redis][실전레디스] 레디스 운용관리 - 스냅샷 & AOF
·
DB/Redis
Redis 데이터 영속성(Persistence)에 대한 이해와 운영관리 관점의 접근Redis는 대표적인 인메모리 데이터 저장소로, 빠른 응답성과 높은 처리량을 강점으로 갖고 있습니다. 하지만 그 특성상 서버가 종료되거나 장애가 발생하면 메모리에 존재하던 데이터가 모두 유실될 수 있다는 단점도 내포하고 있습니다. 이를 보완하기 위해 Redis는 데이터 영속성(Persistence) 기능을 제공하며, 이는 운영관리 측면에서 서비스의 안정성과 신뢰성을 확보하는 데 매우 중요한 요소입니다.Redis는 두 가지 방식의 영속성 메커니즘을 지원합니다. 각각의 방식은 장단점이 뚜렷하므로, 서비스 특성과 운영 전략에 따라 적절히 선택하거나 병행하여 사용하는 것이 중요합니다. 데이터 영속성 관리1. RDB 스냅샷 (Red..
개발자 성현