docker run -d \
--name redis \
-p 6379:6379 \
redis
SET name "redis" GET name # "redis" INCR counter # counter 값 1 증가 (초기값 없으면 0부터 시작) DEL name # name 키 삭제
LPUSH fruits apple # 리스트 왼쪽에 추가 RPUSH fruits banana # 리스트 오른쪽에 추가 LRANGE fruits 0 -1 # 전체 출력: ["apple", "banana"] LPOP fruits # 왼쪽에서 꺼내기 → apple RPOP fruits # 오른쪽에서 꺼내기 → banana DEL fruits # fruits 리스트 삭제
SADD colors red blue green SADD colors blue # 중복값은 무시됨 SMEMBERS colors # 모든 값 출력 SISMEMBER colors red # 특정 값 존재 여부 확인
HSET user:1 name "Alice" age 30 HGET user:1 name # "Alice" HGETALL user:1 # 모든 필드-값 조회 HDEL user:1 age # age 필드 삭제
Set과 유사하지만, 각 요소에 Score가 있음 → 정렬된 상태 유지
ZADD leaderboard 100 "user1" ZADD leaderboard 200 "user2" ZRANGE leaderboard 0 -1 WITHSCORES # 점수 낮은 순으로 정렬 ZREVRANGE leaderboard 0 -1 WITHSCORES # 높은 순 ZSCORE leaderboard "user1" # user1의 점수 조회
SET session:1234 "token" EXPIRE session:1234 60 # 60초 뒤 만료 TTL session:1234 # 남은 TTL 시간 확인
응용
| 데이터 타입 | 명령어 예시 | 설명 |
|---|---|---|
| String | SET key val, GET key, INCR key | 문자열 저장/증가 |
| List | LPUSH key val, LRANGE key 0 -1 | 리스트 (스택/큐) |
| Set | SADD key val, SMEMBERS key | 중복 없는 집합 |
| Hash | HSET key field val, HGETALL key | 필드-값 쌍 저장 (Map) |
| Sorted Set | ZADD key score val, ZRANGE key | 점수 기반 정렬된 집합 |
| TTL | EXPIRE key seconds, TTL key | 유효시간 설정/조회 |