
Redis는 단순한 Key-Value 저장소를 넘어, 다양한 자료구조(Data Types)를 지원합니다. 각 자료형의 특징과 핵심 명령어를 정리해 보았습니다.
Java의 Map<String, String>과 유사하며, 문자열뿐만 아니라 숫자, 이미지(바이트) 등도 저장 가능합니다. (최대 512MB)
주요 명령어:
🔻 SET / GET: 데이터 저장 및 조회
SET user:email alex@example.com
GET user:email
🔻 INCR / DECR: 정수 데이터 1 증가/감소
SET user:count 1
INCR user:count
DECR user:count
🔻 MSET / MGET: 여러 키-값을 한 번에 처리
MSET user:name alex user:email alex@example.com
MGET user:name user:email
Java의 LinkedList와 비슷하며, 양끝에서의 추가/삭제가 매우 빠릅니다.
주요 명령어:
🔻 LPUSH / RPUSH / LPOP / RPOP
LPUSH user:list alex
RPUSH user:list chad
LPOP user:list
🔻 LLEN / LRANGE
중복을 허용하지 않으며 집합 연산(교집합, 합집합 등)이 강력합니다.
주요 명령어:
🔻 SADD / SREM / SMEMBERS
🔻 SINTER / SUNION / SINTERCARD
객체를 저장하기 가장 좋은 구조입니다. (예: 사용자 프로필, 장바구니)
각 원소에 Score(실수)를 부여해 정렬된 상태를 유지합니다.
마무리하며
Redis는 "어떤 명령어를 쓰는가"보다 "어떤 자료구조에 데이터를 담는가"가 훨씬 중요합니다. 서비스의 목적에 맞는 타입을 선택하여 성능을 극대화해 보세요! 🚀