메모리 기반의 키-값(Key-Value) 저장소
Redis는 Remote Dictionary Server의 약자로, Key-Value 구조로 데이터를 저장하는 인메모리 데이터 저장소이다.
일반적인 관계형 데이터베이스(MySQL 등)와는 달리, Redis는 데이터를 디스크가 아닌 메모리(RAM)에 저장하여 매우 빠른 속도로 데이터를 읽고 쓸 수 있는 것이 가장 큰 장점이다..
모든 데이터를 메모리에 저장하므로 디스크 I/O보다 훨씬 빠른 성능을 제공한다.
속도가 중요한 캐시(Cache) 용도로 많이 사용된다..
단순한 문자열뿐만 아니라 리스트(List), 셋(Set), 해시(Hash), 정렬된 셋(Sorted Set) 등 다양한 자료구조를 지원한다.
메모리에 저장하지만, 데이터 유실을 방지하기 위해 디스크에 백업할 수 있는 기능(RDB, AOF)도 지원한다.
발행/구독(Publish/Subscribe) 방식의 메시지 시스템을 통해 실시간 알림이나 채팅 서버 등에도 사용가능하다.
클러스터링을 통해 데이터를 분산 저장하고, 수평 확장이 가능합니다.
클러스터링이란?
: 여러 개의 Redis 서버를 하나의 그룹처럼 묶어 동작시키는 방식으로,
데이터를 분산 저장하고 처리할 수 있도록 해주는 기능이다.
SET 명령어는 키에 값을 저장하는 명령어이다.
SET key value
예시:
SET username "Sean"
username 이란 키에 "Sean" 이라는 값이 저장된다.
SET 명령어에는 EX 나 PX 를 붙여 데이터의 만료 시간을 설정해줄 수 있다.
EX second: 키에 저장된 값의 만료 시간을 초 단위로 설정PX milliseconds : 키에 저장된 값의 만료 시간을 밀리초 단위로 설정SET session "abc123" EX 60 # 60초 후 만료
GET 명령어는 키에 저장된 값을 조회하는 명령어이다.
GET key
예시:
GET username
이 명령어는 username 키에 저장된 값을 반환한다. 결과는 "Sean"이 된다.
EXPIRE 명령어는 키에 만료 시간을 설정하는 명령어이다.
EXPIRE key seconds
예시:
EXPIRE username 120 # username 키를 120초 후에 만료되게 설정
이 명령어는 username 키의 만료 시간을 120초로 설정한다.
TTL 명령어는 키의 남은 만료 시간을 조회하는 명령어이다.
TTL key
예시:
TTL username
이 명령어는 username 키의 남은 만료 시간을 반환한다.
DEL 명령어는 키와 해당 값을 삭제하는 명령어이다.
DEL key
예시:
DEL username
이 명령어는 username 키와 그 값을 삭제한다.