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 |