이 튜토리얼에서는 Redis 데이터 저장소에서 키(key)를 한 데이터베이스에서 다른 데이터베이스로 이동하는 방법을 알아봅니다. 이 작업을 위해 redis-cli에서 제공하는 MOVE 명령어를 사용합니다. MOVE 명령어는 현재 선택된 데이터베이스(소스)에서 지정한 키를 삭제하고, 동일한 키를 지정한 대상(destination) 데이터베이스로 옮기는 역할을 합니다. 만약 소스 데이터베이스에 해당 키가 존재하지 않거나, 대상 데이터베이스에 이미 같은 이름의 키가 있다면 아무 작업도 수행되지 않으며 0이 반환됩니다. Redis MOV
이 튜토리얼에서는 redis-cli에서 KEYS 명령어를 사용하여 Redis 데이터 저장소에 저장된 하나 이상의 키를 가져오는 방법을 알아봅니다. KEYS 명령어는 지정된 패턴과 일치하는 키들을 반환하는 데 사용됩니다. 이때 패턴은 glob 스타일로 작성해야 합니다. Glob 스타일 패턴 종류 * 와일드카드 : 공백을 포함하여 0개 이상의 모든 문자와 일치합니다. 예를 들어 foo*는 fooccc, foo, fooq 등과 일치합니다. ? 와일드카드 : 공백을 포함하여 정확히 한 개의 임의 문자와 일치합니다. 예를 들어 f?0은 f
이 튜토리얼에서는 키에 저장된 지리 공간(geospatial) 값에 요소를 생성하고 추가하는 방법을 알아봅니다. 이를 위해 Redis의 GEOADD 명령어를 사용합니다. GEOADD 명령어란? GEOADD 명령어는 키에 저장된 지리 공간 값에 하나 이상의 지정된 지리 공간 멤버를 추가하는 데 사용됩니다. 지리 공간 값은 사실상 정렬된 집합(sorted set)으로, 이 명령어를 통해 데이터가 채워집니다. 지리 공간 멤버는 GEORADIUS 및 GEORADIUSBYMEMBER 명령어를 활용한 반경 기반 조회를 통해 나중에 손쉽게 검색
이 튜토리얼에서는 키에 저장된 지리 공간(geospatial) 값의 하나 이상의 요소에 대한 Geohash 문자열을 조회하는 방법을 알아봅니다. 이를 위해 Redis의 GEOHASH 명령어를 사용합니다. GEOHASH 명령어란? GEOHASH 명령어는 키에 저장된 지리 공간 값에서 지정한 하나 이상의 요소에 대한 유효한 Geohash 문자열을 반환하는 데 사용됩니다. 지리 공간 값은 GEOADD 명령어를 통해 저장되며, 내부적으로는 정렬된 집합(sorted set) 형태로 표현됩니다. Redis는 위도와 경도 비트를 교차 배치(in
이 튜토리얼에서는 Redis에 저장된 지리 공간(geospatial) 값 중에서 특정 영역 안에 속한 요소들을 조회하는 방법을 알아봅니다. 이를 위해 Redis의 GEORADIUS 명령어를 사용합니다. GEORADIUS 명령어란? GEORADIUS 명령어는 키에 저장된 지리 공간 값(정렬된 집합, Sorted Set) 중에서 지정한 경도, 위도, 반지름으로 계산되는 원형 영역 내부에 있는 하나 이상의 멤버를 반환합니다. 여기서 원의 중심은 지정한 경도와 위도 값이 되고, 원의 반지름은 지정한 단위로 입력한 반지름 값이 됩니다. 반지
이 튜토리얼에서는 Redis에 저장된 지리 공간 값(geospatial value) 중에서 특정 영역에 속한 요소들을 조회하는 방법을 알아봅니다. 이를 위해 Redis의 GEORADIUSBYMEMBER 명령어를 사용합니다. GEORADIUSBYMEMBER 명령어란? GEORADIUSBYMEMBER 명령어는 키에 저장된 지리 공간 값(정렬된 집합, Sorted Set)의 멤버 중에서, 지정된 멤버의 경도·위도 값을 중심으로 하고 반지름 인자로 계산된 원형 영역 내부에 있는 하나 이상의 멤버를 반환하는 명령어입니다. 쉽게 말해, 지정된
지리 공간(Geospatial) 값은 지구상 특정 위치에 대한 경도(longitude)와 위도(latitude) 좌표를 포함하는 데이터입니다. Redis에서는 지리 공간 요소를 정렬된 집합(Sorted Set) 형태로 키에 저장하며, 다양한 전용 명령어를 통해 이러한 값을 손쉽게 저장, 관리, 조회할 수 있습니다. 기본 문법 redis host:port> <명령어> <키 이름> 예제 Redis GEO 주요 명령어 Redis 데이터베이스에서 지리 공간 값을 관리할 때 자주 사용되는 핵심 명령어는 다음과 같
이 글에서는 Redis에서 특정 키에 저장된 해시(hash) 값에 포함된 모든 필드와 값(field/value) 쌍을 한 번에 가져오는 방법을 알아봅니다. 이를 위해 사용하는 것이 바로 HGETALL 명령어입니다. HGETALL 명령어란? HGETALL은 지정한 키에 저장된 해시 값 안의 모든 필드와 해당 값들을 전부 반환하는 명령어입니다. 개별 필드를 하나씩 조회하는 HGET이나 HMGET과 달리, 해시 전체를 한 번에 읽어올 수 있어 데이터를 통째로 확인할 때 유용합니다. 동작 방식 키가 존재하면 해시 내 모든 필드와 값을 순
이 글에서는 레디스(Redis)에서 키에 저장된 해시(hash) 값의 각 필드에 값을 설정하는 방법을 알아봅니다. 이를 위해 HSET, HSETNX, HMSET 세 가지 명령어를 사용하며, 각 명령어의 문법과 반환값, 실제 동작 예제까지 함께 살펴보겠습니다. HSET 명령어란? HSET은 지정된 키에 저장된 해시에서 특정 필드에 값을 설정하는 명령어입니다. 해당 필드가 이미 존재하면 기존 값은 새 값으로 덮어써지며, 키가 존재하지 않으면 설정 작업을 수행하기 전에 해시 값을 담는 새로운 키가 자동으로 생성됩니다. 단, 키가 존재하
해시(Hash)는 필드-값(field-value) 쌍으로 구성된 맵(map) 구조로, 자바 객체처럼 하나의 객체 타입을 표현하는 데 활용할 수 있습니다. Redis에서는 이러한 해시를 키(key)의 값으로 저장할 수 있으며, 다양한 Redis 명령어를 통해 데이터베이스에 저장된 해시 값을 손쉽게 저장, 관리, 조회할 수 있습니다. 기본 문법(Syntax) Redis 명령어는 아래와 같은 형식으로 사용합니다. redis host:port> <명령어> <키 이름> 사용 예시(Example) Redis 해시
Redis(Remote Dictionary Server)는 BSD 라이선스 기반의 오픈소스 NoSQL 데이터베이스입니다. Redis는 인메모리(In-Memory) 데이터베이스로서, 키-값(Key-Value) 저장 방식을 기반으로 동작하며, 다양한 자료구조를 지원하기 때문에 데이터 구조 저장소(Data Structure Store)라고도 불립니다. 그럼 각 개념을 하나씩 자세히 살펴보겠습니다. 핵심 개념 이해하기 1. 키-값 데이터스토어(Key-Value Datastore) 키-값 데이터스토어는 고유한 키(Key)에 대응하는 값(Va
이번 튜토리얼에서는 redis-cli를 사용해 Redis 메시지 브로커 시스템에서 하나 이상의 채널을 동시에 구독하는 방법을 알아보겠습니다. SUBSCRIBE 명령어란? SUBSCRIBE 명령어는 클라이언트를 Redis 메시지 브로커 시스템의 지정된 하나 이상의 채널에 구독시키는 데 사용됩니다. 클라이언트가 SUBSCRIBE 명령어를 실행하면 구독 상태(subscribed state)에 진입하며, 해당 채널들의 메시지를 수신 대기하게 됩니다. 다른 클라이언트가 지정된 채널에 발행(PUBLISH)한 메시지는 Redis가 해당 채널을
이 튜토리얼에서는 redis-cli를 사용하여 Redis 메시지 브로커(Message Broker) 시스템에서 메시지를 발행하는 방법을 알아봅니다. PUBLISH 명령어란? PUBLISH 명령어는 Redis의 Pub/Sub(발행/구독) 구조에서 지정된 채널(channel)로 메시지를 전송하는 데 사용되는 명령어입니다. 이 명령어는 파이어 앤 포겟(fire-and-forget) 방식으로 동작하며, 메시지를 받은 구독자(subscriber)의 수를 정수 형태로 반환합니다. 문법 Redis PUBLISH 명령어의 기본 문법은 다음과 같습
이 튜토리얼에서는 redis-cli를 사용하여 Redis 메시지 브로커 시스템에서 하나 이상의 채널 구독을 취소하는 방법에 대해 알아보겠습니다. UNSUBSCRIBE 명령어란? UNSUBSCRIBE 명령어는 Redis 메시지 브로커(Pub/Sub) 시스템에서 클라이언트가 지정된 하나 이상의 채널에 대한 구독을 해제할 때 사용합니다. 만약 채널을 지정하지 않고 명령어를 실행하면, 현재 구독 중인 모든 채널에서 자동으로 구독이 취소됩니다. 구독이 해제될 때마다 각 채널에 대한 응답 메시지를 반환합니다. 기본 문법 redis host:p
이 튜토리얼에서는 Redis 데이터스토어를 발행/구독(Publish/Subscribe) 메시징 시스템으로 활용하는 방법을 알아봅니다. Redis Pub/Sub 시스템이란? Redis는 발행/구독(Publish/Subscribe) 메시징 패러다임을 구현하고 있습니다. 이 패러다임에서는 메시지를 보내는 쪽인 발행자(Publisher)가 특정 수신자인 구독자(Subscriber)에게 직접 메시지를 전송하도록 프로그래밍되지 않습니다. 대신 발행자는 어떤 구독자가 메시지를 받을지, 아니면 아무도 받지 않을지조차 알지 못한 채 특정 채널에
이 튜토리얼에서는 redis-cli를 사용하여 Redis 메시지 브로커 시스템에서 여러 패턴을 동시에 구독하는 방법을 알아보겠습니다. PSUBSCRIBE 명령어란? PSUBSCRIBE 명령어는 클라이언트를 하나 이상의 패턴(pattern)에 구독시켜, 지정된 패턴과 이름이 일치하는 채널로 발행되는 모든 메시지를 수신할 수 있게 해주는 명령어입니다. 패턴은 glob 스타일로 지정합니다. SUBSCRIBE 명령어와 마찬가지로, 클라이언트가 PSUBSCRIBE 명령어를 실행하면 구독 상태(subscribed state)에 진입하여 구독한
이 튜토리얼에서는 redis-cli를 활용하여 Redis 메시지 브로커(Pub/Sub) 시스템에서 하나 이상의 패턴 구독을 해제하는 방법을 알아봅니다. PUNSUBSCRIBE 명령어란? PUNSUBSCRIBE 명령어는 클라이언트가 Redis 메시지 브로커에서 사전에 구독한 하나 이상의 패턴(pattern) 구독을 해제할 때 사용합니다. 주요 특징은 다음과 같습니다. 패턴을 지정하면 해당 패턴의 구독만 해제됩니다. 패턴을 아무것도 지정하지 않으면 현재 구독 중인 모든 패턴에서 일괄 해제됩니다. 해제된 각 패턴마다 개별적인 응답 메
이번 튜토리얼에서는 Redis 데이터 저장소에 키(key)로 저장된 정렬된 집합(sorted set) 값에서 특정 요소의 점수(score)를 증가시키는 방법을 알아보겠습니다. 이를 위해 redis-cli에서 ZINCRBY 명령어를 사용합니다. ZINCRBY 명령어란? ZINCRBY 명령어는 키에 저장된 정렬된 집합 값 안에서 특정 요소의 점수를 지정한 값(increment)만큼 증가시키는 데 사용됩니다. 이 명령어의 동작 방식은 다음과 같습니다. 요소가 이미 존재하는 경우: 해당 요소의 기존 점수에 increment 값이 더해집니
이 튜토리얼에서는 redis-cli에서 HLEN 명령어를 사용하여 특정 키에 저장된 해시(hash) 값에 포함된 필드의 개수를 확인하는 방법을 알아봅니다. HLEN 명령어란? Redis의 해시는 하나의 키 아래에 여러 개의 필드(field)와 값(value) 쌍을 저장할 수 있는 자료구조입니다. HLEN 명령어는 지정한 키에 저장된 해시가 몇 개의 필드를 가지고 있는지 반환하며, 시간 복잡도는 O(1)로 매우 빠르게 동작합니다. 문법 redis host:port> HLEN <key name> 반환 값 (intege
이 튜토리얼에서는 Redis에 저장된 해시(Hash) 값에서 하나 이상의 필드를 삭제하는 방법을 알아봅니다. 이를 위해 redis-cli에서 HDEL 명령어를 사용합니다. HDEL 명령어는 키에 저장된 해시 값에서 지정된 하나 이상의 필드를 제거합니다. 만약 지정한 필드가 해시 값에 존재하지 않는다면 해당 필드는 무시되고 오류 없이 정상적으로 처리됩니다. 명령어 실행 결과로 반환되는 값은 다음과 같습니다. 키가 존재하지 않는 경우: 빈 해시로 간주되어 0이 반환됩니다. 키는 존재하지만 저장된 값이 해시(Hash) 타입이 아닌 경우