Redis 데이터 타입

김지현·2일 전
0

Redis란?

Redis(Remote Dictionary Server)는 인메모리 NoSQL 데이터베이스로, 키-값(key-value) 저장소 형태로 데이터를 빠르게 저장하고 검색할 수 있다.

가장 큰 특징은 인메모리 데이터 베이스라는 점이다. 데이터를 디스크가 아닌 메모리(RAM)에 저장하여 매우 빠른 성능을 제공한다. 따라서 높은 트래픽을 처리하는 시스템에 적합하다.

데이터 타입

Redis는 단순 문자열, 리스트, 집합, hash, set 등 다양한 데이터 구조의 저장 방식을 지원한다. key-value 데이터베이스이므로 value로 사용하고자 하는 자료형에 따라 다른 명령어를 사용하게 된다. 대부분의 명령이 존재하지 않는 key 값에 사용되어도 정상적으로 동작하며, 존재하지 않는 key에 데이터를 저장하면 key를 생성한다.

String

# key에 value 문자열 저장
SET <key> <value>
MSET <key> <value> <key> <value>...

# key에 저장된 문자열 반환
GET <key>
MGET <key> <key>...

# 정수 저장시
INCR <key> # 1 증가
DECR <key> # 1 감소

LIST

여러 문자열 데이터를 리스트로 저장한다. 레디스에서 리스트는 Linked List 형태로 저장된다.

# 리스트 앞/뒤에 저장
LPUSH <key> <value>
RPUSH <key> <value>

# 리스트 맨 앞/뒤 값 반환 및 제거
LPOP <key>
RPOP <key>

LLEN <key> # 리스트 길이 반환
LRANGE <key> <start end> # start부터 end까지 원소 반환

SET

문자열의 집합이며 중복을 허용하지 않고 순서가 존재하지 않는다.

SADD <key> <value>	# 값 추가
SREM <key> <value>	# 값 삭제
SMEMBERS <key>		# set에 저장된 모든 원소 반환
SCARD <key>			# set 크기 반환

SINTERCARD <key1> <key2>..	# 교집합 크기 반환
SINTER <key1> <key2>		# 교집합 원소 반환
SUNION <key1> <key2>		# 합집합 원소 반환

SORTED SET

정렬된 집합으로 set에 score 실수를 함께 저장한다. 데이터를 가져올 때 score를 기준으로 정렬하여 값을 가져올 수 있다.
순위와 관련된 리더보드 등의 기능을 만들 때 주로 사용된다.

ZADD <key> <score> <meber>	# key의 set에 score 점수를 가진 member 추가
ZINCRBY <key> <inc> <member>	# member의 score를 inc만큼 증가
ZRANK <key> <member>	# member의 순위 반환
ZRANGE <key> <start end>	# start부터 end 순위 까지의 member 반환

0개의 댓글

관련 채용 정보