Database/Redis 17

[실전 레디스] 2-3. 자료형과 기능: 보조 기능

하야시 쇼고 님의 "실전 레디스" 책을 정리한 포스팅 입니다. 1. Pub/Sub발행자가 구독자에게 메시지를 보내는 패턴자료형이 아닌 기능 형태로 제공됨 요소역할설명구독자- 하나 이상의 channel을 구독할 수 있음- 구독한 채널에서 발행되는 메시지를 실시간으로 수신함발행자- 특정 채널을 지정해 PUBLISH함- 채널을 구독 중인 모든 구독자에게 메시지가 동시 전송됨 명령어구독더보기subscribe mychannel1unsubscribe mychannel1psubscribe my*punsubscribe my*ssubscribe shd1sunsubscribe shd1ssubscribe: 샤드 ID로 구독 발행더보기publish mychannel1 "Hello, World!"spublish shd1 "He..

Database/Redis 2025.03.21

[실전 레디스] 2-2. 자료형과 기능: 보조 자료형

하야시 쇼고 님의 "실전 레디스" 책을 정리한 포스팅 입니다.보조 자료형은 모든 자료형에서 사용될 수 있음 1. Bitmap1비트 단위로 데이터를 표현하는 방식실제로는 String 형으로 정의되어 있음 장점장점설명메모리 절약하나의 비트만으로 상태를 표현 가능샤딩 용이예를 들어 유저 ID의 해시값을 기준으로 여러 Bitmap 키로 분리해서 수평 분산 저장 가능 명령어생성더보기setbit visitor:20220829 100 1setbit visitor:20220829 200 1setbit visitor:20220830 400 1 읽기더보기getbit visitor:20220829-20220830 100bitcount visitor:20220829-20220830bitpos visitor:20220829-..

Database/Redis 2025.03.20

[실전 레디스] 2-1. 자료형과 기능: 기본 자료형

하야시 쇼고 님의 "실전 레디스" 책을 정리한 포스팅 입니다.0. 개요개념설명네임스페이스Redis는 전역 키 공간을 사용하며, 모든 키가 동일한 스코프에 존재함키 충돌 방지를 위해 보통 prefix 사용키 어노테이션개발자는 키 명명 규칙에 의미를 부여하거나, 별도 메타 키를 만들어 관계나 트리거 로직을 명시적으로 관리함 네임 스페이스) prefix더보기구조: user::SET user:1001:name "Redis"SET user:1001:email "redis@example.com"MGET user:1001:name user:1001:email키 충돌 방지그룹 관리 용이 네임 스페이스) DB 번호더보기0: 세션 관리용SELECT 0SET session:1234 "login" 1: 캐시 관리용SELECT..

Database/Redis 2025.03.20

[실전 레디스] 1. 레디스의 시작

하야시 쇼고 님의 "실전 레디스" 책을 정리한 포스팅 입니다. 1. NoSQL구분내용특징- 빠른 속도- 특정 데이터 모델에 최적화됨 (일부 데이터 모델은 RDBMS로 구현 시 복잡)유형- Key-Value Store- Column-Oriented DB- Document-Oriented DB- Graph DB 예시) GraphDB - 소셜 네트워크더보기연결 정보 저장예: A는 B의 친구이고, B는 C의 친구이고, C는 A의 친구다 GraphDB(Neo4j)각 사람을 노드, 친구 관계를 엣지로 표현 (MATCH (a)-[:FRIEND]-(b)-[:FRIEND]-(c))관계 중심 모델에 최적화 RDBMSJoin 반복이나 재귀 쿼리를 써야 함 → 느리고 복잡함 예시) Document-Oriented DB - 이..

Database/Redis 2025.03.19

[Redis][Community Edition] 2-7. Manage Redis: Scale with Redis Cluster

1. Redis Cluster 101수평 확장 및 복제를 위한 공식 구조항목설명Auto Sharding데이터가 여러 노드에 자동 분산 저장됨 (수동 분할 불필요)Partial Failure Tolerance일부 노드에 장애가 생기거나 통신이 끊겨도 클러스터는 일정 수준의 작동을 유지함전체 장애 시 중단마스터 노드의 과반수가 다운되면 → 전체 클러스터가 중단됨→ 클러스터는 최소 다수의 마스터가 살아있어야 운영 가능 TCP ports포트 종류설명클라이언트 포트- 일반 Redis 명령 처리용 포트 (예: 6379)- 클라이언트가 명령을 보내는 포트- 클러스터 간 키 마이그레이션 시에도 사용됨클러스터 버스 포트- 노드 간 내부 통신 전용 포트- 기본값: 클라이언트 포트 + 10000 (예: 16379)- 바이너..

Database/Redis 2024.09.08

[Redis][Community Edition] 2-6. Manage Redis: Replication

0. Replication동기화replica가 master를 실시간으로 복제함항목설명특징비동기 복제- 지연이 낮음- 백그라운드에서 복제가 이루어짐복제가 진행되는 동안에도 서비스는 중단 없이 유지됨다중 레플리카하나의 Master에 여러 Replica를 연결할 수 있음 - 읽기 부하 분산- 고가용성 확보계단식 복제Replica가 또 다른 Replica의 Master가 될 수 있음계층적 구조 구성 가능 재연결연결이 끊겨도 replica는 자동으로 master에 재연결을 시도함재연결 성공 시, 복제를 시도함항목Partial RecynchronizationFull Recynchronization동작 조건복제 연결이 일시적으로 끊겼다가 재연결될 때Replica가 처음 연결되거나, 복제 기록이 손실된 경우복구 방식끊..

Database/Redis 2024.09.08

[Redis] 2. Understanding Data Types

cachingqueuingevent processing 1. Stringbyte sequence 저장문자열 매핑에 주로 사용됩니다. (key, value 모두 문자열) Data StructureTextSerialized objectBinary array(image, video, audio) Usagecachecountersbitwise operation 더보기SET bike:1 Deimos # key(namespace:id) - valueGET bike:1 # Deimos 2. JSONSyntax: JSONPath UsageAPI Response (cached) 더보기JSON.SET user:1001 $ '{"name": "John Doe", "email": "john.doe@example.com", ..

Database/Redis 2024.09.05