redis 간단 사용법

Posted by Albert 1Day 6Hour 14Min 26Sec ago [2026-01-25]

Redis는 단순한 키-값 저장소를 넘어, 데이터 구조에 따라 효율적인 문법을 제공합니다.

1. String (가장 기본)

가장 일반적인 형태로, 텍스트나 숫자를 저장합니다.

  • SET/GET: 저장 및 조회
  • Bash

SET user:1 "Alice"
GET user:1
  • INCR/DECR: 숫자 값 1 증가/감소 (조회수, 카운터에 유용)
  • Bash

SET view_count 100
INCR view_count  ' 101이 됨
  • SETEX: 특정 시간(초) 후 자동 삭제 (인증번호, 세션 유지)
  • Bash

SETEX temp_code 60 "123456"  ' 60초 뒤 삭제

2. List (순서가 있는 목록)

데이터를 한쪽 끝에서 넣고 빼는 '큐(Queue)'나 '스택(Stack)' 구조에 쓰입니다.

  • LPUSH/RPUSH: 왼쪽 또는 오른쪽으로 데이터 삽입
  • Bash

LPUSH my_list "world"
LPUSH my_list "hello"  ' 결과: ["hello", "world"]
  • LRANGE: 범위 조회 (0 -1은 전체 조회)
  • Bash

LRANGE my_list 0 -1
  • LPOP/RPOP: 왼쪽 또는 오른쪽에서 데이터 꺼내기 (꺼낸 데이터는 리스트에서 삭제됨)
  • Bash

LPOP my_list

3. Hash (객체 구조)

필드와 값의 쌍으로 이루어진 구조로, **객체(Object)**를 저장할 때 아주 좋습니다.

  • HSET/HGET: 필드 지정 저장 및 조회
  • Bash

HSET user:info name "Tom" age 25
HGET user:info name
  • HGETALL: 해당 키의 모든 필드와 값 조회
  • Bash

HGETALL user:info

4. Set (중복 없는 집합)

중복을 허용하지 않는 데이터 꾸러미입니다. 좋아요 누른 유저 ID 저장 등에 자주 쓰입니다.

  • SADD: 추가 (이미 있는 값이면 무시됨)
  • Bash

SADD tags "python" "java" "python"
  • SMEMBERS: 전체 목록 조회
  • Bash

SMEMBERS tags
  • SISMEMBER: 특정 값이 존재하는지 확인 (1: 있음, 0: 없음)
  • Bash

SISMEMBER tags "python"

5. Sorted Set (ZSET, 순위 기반 집합)

값과 함께 **Score(점수)**를 저장하며, 점수 순으로 자동 정렬됩니다. 실시간 랭킹 시스템의 핵심입니다.

  • ZADD: 점수와 함께 추가
  • Bash

ZADD rank 100 "user_A"
ZADD rank 250 "user_B"
  • ZRANGE: 낮은 점수순 조회 / ZREVRANGE: 높은 점수순 조회
  • Bash

ZREVRANGE rank 0 -1 WITHSCORES

유용한 관리용 명령어

데이터를 다루다 보면 꼭 필요하게 되는 명령어들입니다.

  • **KEYS ***: 현재 저장된 모든 키 확인 (운영 환경에서는 성능 저하를 일으키니 주의!)
  • EXISTS [key]: 키가 존재하는지 확인
  • TTL [key]: 키가 삭제되기까지 남은 시간 확인 (초 단위)
  • FLUSHALL: 모든 데이터 삭제 (매우 주의!)





LIST

Copyright © 2014 visionboy.me All Right Reserved.