🚀 1.2.5 속도가 빠르고 기능이 많은 인메모리 데이터 저장소Redis는 인메모리 내에서 데이터를 처리하기 때문에 속도와 구조적 유연성이 뛰어난 데이터 저장소입니다.아래는 Redis가 가진 주요 특징입니다.⚡ 인메모리 동작 기반으로 빠른 처리 속도Redis의 최대
⚙️ 루아(Lua)를 통한 유연한 처리Redis는 Lua 스크립트 기능을 내장하고 있으며,여러 개의 명령어를 한 번에 실행할 수 있는 배치 처리(batch operation) 를 제공합니다.🧩 루아 스크립트의 역할여러 Redis 명령을 하나의 스크립트로 묶어 원자적(
💾 1.2.7 멤캐시디(Memcached)와 비교Redis와 자주 비교되는 시스템이 바로 멤캐시디(Memcached) 입니다.두 시스템 모두 인메모리 기반 데이터 저장소로, 속도와 캐싱에 특화되어 있습니다.하지만 설계 철학과 기능 면에서는 몇 가지 중요한 차이가 존재
🧱 2.1.2 보조 자료형과 기능Redis는 대표적으로 다섯 가지 기본 자료형(String, List, Hash, Set, Sorted Set)을 제공하지만,그 외에도 보조 자료형과 기능을 통해 더 복잡한 데이터 구조를 다룰 수 있습니다.⚙️ 대표 보조 자료형 및 기
1️⃣ String형 개요가장 기본적이고 단순한 자료형 (Key-Value 구조)문자열, 정수, 실수(부동소수점) 등 모든 데이터 저장 가능.내부적으로는 SDS(Simple Dynamic String) 구조로 관리.최대 저장 크기: 512MB (기본값, 설정으로 10G
🧭 Redis의 “Key 중심” 구조 이해Redis는 “Key-Value Store” (키-값 저장소) 구조입니다.→ 모든 데이터는 고유한 key 이름을 가지며, 해당 key에 value(값)이 매핑됩니다.예시:SET user:1001 "Alice"SET user:1
1) List형 개요정의: 문자열(String)의 순서 있는 컬렉션. 앞/뒤에 값을 넣고 빼는 데 최적화(스택/큐 가능).특징삽입 순서 유지양 끝단(왼쪽/오른쪽)에서 O(1)에 가까운 연산 제공주요 유스케이스스택/큐 구현SNS/뉴스 피드(최신 N개 보여주기)작업 대기열
1️⃣ 개요Hash형(Hash type)은“하나의 키(key)에 여러 개의 필드(field)와 값(value)을 짝으로 저장”하는 자료구조입니다.프로그래밍 언어의 딕셔너리(Dictionary) 또는 Map 구조와 유사합니다.key: { field1: value1,
🧩 2.6 Sorted Set형 (정렬된 집합형)🔹 개념Sorted Set형은 Set과 달리 각 멤버에 점수(score) 가 매겨져 있으며, 점수 기준으로 정렬된 집합입니다.멤버의 중복은 허용하지 않지만 점수는 중복 가능합니다.주로 게임 실시간 랭킹, 활동 점수 집
🧩 2.7 대표 기능과 관련 명령어Redis는 문자열, 리스트, 해시 등의 자료형 외에도 특정 기능에 특화된 보조 자료형을 제공합니다.그중 하나가 바로 비트맵(BitMap) 으로, 데이터를 비트 단위로 조작하여 메모리를 매우 효율적으로 사용하는 기능입니다.⚙️ 2.7
🌏 2.7.2 지리적 공간 인덱스 (Geospatial Index)📘 개요지리적 공간 정보는 위도(latitude)와 경도(longitude)를 이용해 지구상 위치를 표현하는 데이터입니다.Redis에서는 이 정보를 활용해 위치 기반 검색, 거리 계산, 반경 내 검색
📨 2.7.3 Pub/Sub 기능📘 개요Pub/Sub (Publish/Subscribe) 모델은발행자(Publisher)가 메시지를 보내면,구독자(Subscriber)가 해당 채널을 통해 메시지를 받는 구조입니다.Redis의 Pub/Sub은 데이터형(Data Typ
🧱 NoSQL 데이터베이스 완벽 정리Monolith vs Microservices모놀리식(Monolith) 아키텍처는 하나의 큰 시스템 안에 모든 기능이 통합되어 있는 형태입니다.반면 마이크로서비스(Microservices) 아키텍처는 각 서비스가 독립적으로 설계되어
🔹 루아 스크립트(Lua Script)는 개발자가 직접 작성해야 하는 코드입니다.Redis가 자동으로 만들어주거나 실행해주는 건 아닙니다.🔍 자세히 설명드리면✅ 1. 루아 스크립트는 “Redis 서버 안에서 실행되는 코드”보통은 우리가 애플리케이션(Python, N
“Redis TLS(Transport Layer Security)”는 Redis 서버와 클라이언트 간의 통신을 암호화(Encryption) 하는 기능이에요.기본 Redis는 속도 중심이라 평문(plain text) 통신이 기본인데, TLS 설정을 하면 보안이 강화됩니다
1) 층위부터 정리 (무엇이 무엇 위에 올라가는가)TCP: 전송 계층 프로토콜. “신뢰성 있게 바이트 스트림을 주고받는” 가장 아래 레벨 파이프.소켓(Socket API): 운영체제가 제공하는 프로그래밍 인터페이스. TCP(또는 UDP) 연결을 만들고 읽고 쓰게 해줍니
🧠 핵심 주제Redis의 자료형 선택은 데이터의 형태와 워크로드에 따라 달라지며, 성능과 메모리 효율에 직접적인 영향을 미친다.1️⃣ 적절한 자료형을 선택하는 이유Redis는 다양한 자료형(String, List, Set, Hash 등)을 제공하지만,“무엇을 쓰느냐”
🔹 Redis 데이터 영속화 개요Redis는 메모리 기반 데이터베이스지만, 데이터를 디스크에 저장하여 영속성(persistence) 을 유지할 수 있습니다.이를 위해 두 가지 주요 방법을 제공합니다:스냅숏 (Snapshot, RDB)AOF (Append Only Fi
🧩 Redis의 TTL(만료) 구조 — 전체 아키텍처 개요Redis는 TTL을 핸들러(Handler) 또는 스케줄러(Thread) 로 따로 만들지 않았습니다.즉, “별도 스레드나 타이머 기반 TTL 관리자가 없습니다.”대신, TTL은 Redis의 싱글 이벤트 루프(e
📘 RDB 파일 구조 개요Redis의 RDB 파일(dump.rdb)은 데이터 스냅샷(백업) 을 저장하는 이진(binary) 파일입니다.파일은 다음과 같은 구조로 구성됩니다:🧩 그림 5-1: RDB 파일 내용Header 바이트AUX 필드 1AUX 필드 2...AUX
📗 1-1. Lazy Loading (Cache-Aside) 아키텍처 완전정리🎯 0. 목표와 전제목표:최초 요청 시 캐시 미스가 발생하더라도 장애 없이 정상 동작사용자 에러율 ≈ 0%자주 사용되는 데이터만 효율적으로 캐싱전제:Cache: RedisDB: MySQLA