DB

[Redis] Data Type (Strings, Lists, Sets, Hashes)

Raconer 2024. 2. 23. 00:13
728x90

🧠 Redis Data Types 정리

Redis는 다양한 자료형을 지원하여 다양한 목적에 맞게 사용할 수 있습니다.


1. 🔤 Strings

  • 가장 기본적인 타입
  • 문자열뿐 아니라 이미지, 파일 등 바이너리도 저장 가능
  • 최대 크기: 512MB (key 하나당)
SET myname hello
GET myname  # "hello"
명령어 설명 예시
SET 문자열 값 저장 SET say hello
GET 값 조회 GET say
INCR 정수형 값 +1 INCR mycount
DECR 정수형 값 -1 DECR mycount
MSET 여러 key 저장 MSET mine milk yours coffee
MGET 여러 key 조회 MGET mine yours

2. 📋 Lists

  • Linked List 구조
  • Queue, Stack 등 다양한 용도로 사용 가능
LPUSH mylist value1
LPUSH mylist value2
LLEN mylist  # 2
RPOP mylist  # "value1"
명령어 설명 예시
LPUSH 왼쪽(head)에 삽입 LPUSH mylist apple
RPUSH 오른쪽(tail)에 삽입 RPUSH mylist banana
LLEN 길이 조회 LLEN mylist
LRANGE 범위 조회 LRANGE mylist 0 -1
LPOP 왼쪽에서 pop LPOP mylist
RPOP 오른쪽에서 pop RPOP mylist

3. 🟰 Sets

  • 중복 없는 값들의 집합
  • 순서 없음, 빠른 검색 가능
  • 교집합, 합집합, 차집합 연산 지원
SADD myset apple
SADD myset banana
SISMEMBER myset banana  # 1
SISMEMBER myset grape   # 0
명령어 설명 예시
SADD 데이터 추가 SADD myset apple
SREM 데이터 삭제 SREM myset apple
SCARD 원소 개수 SCARD myset
SMEMBERS 모든 원소 조회 SMEMBERS myset
SISMEMBER 포함 여부 확인 SISMEMBER myset banana

4. 🧩 Hashes

  • 하나의 key 아래 여러 필드를 저장
  • 객체처럼 사용 가능 (field-value 쌍)
  • 카운터 용도로도 활용
HSET user1 name bear age 10
HGET user1 name  # "bear"
HMGET user1 name age  # ["bear", "10"]
명령어 설명 예시
HSET 필드 저장 HSET user1 name bear age 10
HGET 필드 조회 HGET user1 name
HMGET 다중 필드 조회 HMGET user1 name age
HINCRBY 정수 필드 +N HINCRBY user1 viewcount 1
HDEL 필드 삭제 HDEL user1 name age

Redis의 다양한 자료형은 각기 다른 시나리오에 맞춰 사용할 수 있도록 설계되어 있습니다.
목적에 맞는 자료형 선택이 성능 최적화에 매우 중요합니다.

728x90

'DB' 카테고리의 다른 글

[Redis] Spring Boot Redis 기본 설정  (0) 2024.02.24
[Redis] Data Type (Sorted Sets, Bitmaps, HyperLogLog)  (0) 2024.02.23
[Redis] Redis란?  (0) 2024.02.20
MongoDB 구성  (0) 2024.02.18
SQL VS NoSQL (MongoDB 공부 전 )  (0) 2024.02.18