redis 7

Redis 자료구조 설명

1. String가장 기본적인 자료구조입니다.하나의 key에 하나의 문자열 값을 저장합니다.숫자, JSON, base64 등 다양한 형식의 데이터를 담을 수 있습니다.🟢 사용 예:사용자 이름, 토큰, 설정 값 저장카운터, TTL을 가진 데이터 등2. List양방향 연결 리스트 구조입니다.순서가 유지되며, 양 끝에서 push/pop 할 수 있습니다.🟢 특징:FIFO (큐) 또는 LIFO (스택) 구조로 사용할 수 있음🟢 사용 예:작업 큐채팅 메시지 목록로그 수집 (X개의 최근 메시지만 유지)3. Set중복을 허용하지 않는 무작위 순서의 집합입니다.삽입 순서를 기억하지 않습니다.🟢 특징:값의 존재 여부 확인이 빠름 (SISMEMBER)집합 연산 가능 (합집합, 교집합, 차집합)🟢 사용 예:태그 목록..

프로그래밍 2025.04.17

Redis 명령어 정리

1. String기본 명령어SET name "Jinwook"GET nameINCR count실행 결과OK"Jinwook"(integer) 1설명SET은 문자열 값을 저장합니다.GET은 저장된 값을 조회합니다.INCR은 정수 값을 1 증가시키며, 존재하지 않으면 0으로 간주합니다.2. List (연결 리스트)기본 명령어LPUSH fruits "apple"RPUSH fruits "banana"LPUSH fruits "orange"LRANGE fruits 0 -1LPOP fruits실행 결과(integer) 1(integer) 2(integer) 31) "orange"2) "apple"3) "banana""orange"설명LPUSH/RPUSH는 왼쪽/오른쪽에 요소를 추가합니다.LRANGE key 0 -1은 리..

프로그래밍 2025.04.17

Redis TTL (Time-To-Live) 이란?

**TTL (Time-To-Live)**은 Redis에서 특정 키의 유효 기간(만료 시간, Expiration Time)을 설정하는 기능입니다.TTL이 설정된 키는 지정된 시간이 지나면 자동으로 삭제됩니다.TTL은 캐시 만료, 세션 관리, 임시 데이터 저장 등의 용도로 자주 사용됩니다.1. Redis에서 TTL 설정 및 확인 방법Redis에서 TTL을 설정하는 주요 명령어는 EXPIRE, PEXPIRE, EXPIREAT, PEXPIREAT 입니다.✅ TTL 설정 (EXPIRE)EXPIRE → 키의 TTL을 초(Seconds) 단위로 설정SET session:user123 "active"EXPIRE session:user123 60 # 60초 후 자동 삭제📌 session:user123 키는 60초..

데이터베이스 2025.03.03

Redis RDB vs AOF 비교

Redis는 데이터를 디스크에 저장하는 영속성(Persistence) 메커니즘으로 RDB (Redis Database)와 AOF (Append-Only File) 두 가지 방식을 제공합니다.1. RDB (Redis Database)RDB는 특정 시점(Snapshot)에서 전체 데이터를 저장하는 방식으로, 일정 주기마다 Redis의 데이터를 바이너리 파일(dump.rdb) 형태로 디스크에 저장합니다.📌 RDB의 특징✅ 스냅샷(Snapshot) 방식: 일정 시간마다 데이터를 파일로 저장✅ 바이너리 형식으로 저장: 디스크 공간을 적게 사용하며, 복구가 빠름✅ 저장 파일 (dump.rdb) 단 하나만 존재 → 파일 관리가 간편✅ 성능에 미치는 영향이 적음 (저장 시점 외에는 Redis가 평소처럼 동작)❌ 최근..

데이터베이스 2025.03.03

Redis Pipelining이란?

Redis Pipelining은 여러 개의 명령어를 한 번에 전송하고, 응답을 한꺼번에 받는 방식입니다. 이를 통해 클라이언트와 Redis 서버 간의 네트워크 왕복 횟수(RTT, Round Trip Time)를 줄여 성능을 향상시킬 수 있습니다.1. Pipelining이 필요한 이유Redis는 클라이언트-서버 모델을 기반으로 동작합니다. 일반적인 요청-응답 방식에서는 다음과 같이 동작합니다.클라이언트가 Redis에 명령어 전송Redis가 명령을 처리Redis가 응답을 클라이언트로 전송이 과정이 단일 명령어마다 반복되기 때문에, 여러 개의 명령을 연속으로 실행할 때 네트워크 지연 시간이 발생합니다.예제: 네트워크 지연이 있는 경우[Client] --------(SET key1 value1)-------->..

데이터베이스 2025.03.03

Redis Pub/Sub vs Kafka 비교

Redis와 Kafka는 둘 다 메시징 기능을 제공하지만, 사용 목적과 특성이 다르기 때문에 어떤 것이 더 좋은지는 사용 사례에 따라 다릅니다.1. Redis Pub/Sub vs Kafka 비교특징 Redis Pub/Sub Kafka 메시징 방식발행-구독 (Pub/Sub)로그 기반 메시지 브로커메시지 지속성메시지 소비 후 유지되지 않음 (단기적)메시지가 지속적으로 저장됨 (장기적)확장성단일 노드에서는 빠르지만, 클러스터링이 복잡함분산 시스템으로 설계되어 확장성이 뛰어남성능메모리 기반으로 빠름 (낮은 지연시간)로그 기반이라 지연시간이 조금 높을 수 있음데이터 보존메시지는 구독자가 받지 않으면 사라짐메시지는 설정된 기간 동안 유지됨메시지 재처리불가능가능 (오프셋을 이용해 다시 읽기 가능)트랜잭션 지원없음지..

데이터베이스 2025.03.03