Redis란?

박현민·2025년 5월 11일

게임서버

목록 보기
7/8

메모리 기반의 키-값(Key-Value) 저장소

Redis란?

Redis는 Remote Dictionary Server의 약자로, Key-Value 구조로 데이터를 저장하는 인메모리 데이터 저장소이다.

일반적인 관계형 데이터베이스(MySQL 등)와는 달리, Redis는 데이터를 디스크가 아닌 메모리(RAM)에 저장하여 매우 빠른 속도로 데이터를 읽고 쓸 수 있는 것이 가장 큰 장점이다..

Redis의 특징


1. 인메모리(In-Memory) 저장소

모든 데이터를 메모리에 저장하므로 디스크 I/O보다 훨씬 빠른 성능을 제공한다.
속도가 중요한 캐시(Cache) 용도로 많이 사용된다..

2. 다양한 데이터 구조 지원

단순한 문자열뿐만 아니라 리스트(List), 셋(Set), 해시(Hash), 정렬된 셋(Sorted Set) 등 다양한 자료구조를 지원한다.

3. 영속성(Persistence) 지원

메모리에 저장하지만, 데이터 유실을 방지하기 위해 디스크에 백업할 수 있는 기능(RDB, AOF)도 지원한다.

4. Pub/Sub 메시징 기능

발행/구독(Publish/Subscribe) 방식의 메시지 시스템을 통해 실시간 알림이나 채팅 서버 등에도 사용가능하다.

5. 분산 처리 지원

클러스터링을 통해 데이터를 분산 저장하고, 수평 확장이 가능합니다.

클러스터링이란?

: 여러 개의 Redis 서버를 하나의 그룹처럼 묶어 동작시키는 방식으로,
데이터를 분산 저장하고 처리할 수 있도록 해주는 기능이다.

자주 사용하는 명령어


1. SET

SET 명령어는 값을 저장하는 명령어이다.

SET key value
  • key: 저장할 키
  • value: 저장할 값

예시:

SET username "Sean"

username 이란 키에 "Sean" 이라는 값이 저장된다.

SET 명령어에는 EXPX 를 붙여 데이터의 만료 시간을 설정해줄 수 있다.

  • EX second: 키에 저장된 값의 만료 시간을 초 단위로 설정
  • PX milliseconds : 키에 저장된 값의 만료 시간을 밀리초 단위로 설정
SET session "abc123" EX 60  # 60초 후 만료

2. GET

GET 명령어는 키에 저장된 값을 조회하는 명령어이다.

GET key
  • key: 조회할 키

예시:

GET username

이 명령어는 username 키에 저장된 값을 반환한다. 결과는 "Sean"이 된다.

3. EXPIRE

EXPIRE 명령어는 키에 만료 시간을 설정하는 명령어이다.

EXPIRE key seconds
  • key: 만료 시간을 설정할 키
  • seconds: 만료 시간 (초 단위)

예시:

EXPIRE username 120  # username 키를 120초 후에 만료되게 설정

이 명령어는 username 키의 만료 시간을 120초로 설정한다.

4. TTL

TTL 명령어는 키의 남은 만료 시간을 조회하는 명령어이다.

TTL key
  • key: 만료 시간을 조회할 키

예시:

TTL username

이 명령어는 username 키의 남은 만료 시간을 반환한다.

  • 양의 정수: 남은 시간 (초 단위)
  • -1: 만료 시간이 설정되지 않음
  • -2: 키가 존재하지 않음

5. DEL

DEL 명령어는 키와 해당 값을 삭제하는 명령어이다.

DEL key
  • key: 삭제할 키

예시:

DEL username

이 명령어는 username 키와 그 값을 삭제한다.

profile
자라고 있는 게임개발자

0개의 댓글