Redis 명령: 전반적인 개요
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Redis는 문자열, 목록, 세트, 해시 및 정렬된 세트와 같은 다양한 데이터 유형에 대한 특화된 명령을 제공합니다.
- 효과적인 키 관리 및 트랜잭션은 Redis 성능 및 데이터 무결성 최적화에 매우 중요합니다.
- 핵심 명령을 이해하면 Redis에서 효율적인 데이터 저장, 검색 및 조작이 가능합니다.
Redis는 오픈 소스, 인 메모리 데이터 구조 저장소로 데이터베이스, 캐시 및 메시지 브로커로 널리 사용됩니다. 효율적인 데이터 조작 및 검색을 가능하게 하는 다양한 데이터 유형에 맞춘 풍부한 명령 세트를 제공합니다. 이 가이드는 데이터 유형 및 기능별로 분류된 필수 Redis 명령에 대한 개요를 제공합니다.
1. 문자열 명령
문자열은 가장 기본적인 Redis 데이터 유형으로 최대 512MB의 텍스트 또는 이진 데이터를 저장할 수 있습니다. (Redis 명령에 대한 완전한 가이드 | GeeksforGeeks)
- SET key value: 키에 값을 할당합니다.
SET mykey "Hello"
- GET key: 키의 값을 검색합니다.
GET mykey
- DEL key [key ...]: 하나 이상의 키를 삭제합니다.
DEL mykey
- EXISTS key: 키가 존재하는지 확인합니다.
EXISTS mykey
- INCR key / DECR key: 키의 정수 값을 증가 또는 감소시킵니다.
INCR counter DECR counter
- APPEND key value: 기존 키에 값을 추가합니다.
APPEND mykey " World"
- TTL key: 키의 남은 수명을 초 단위로 반환합니다.
TTL mykey
- EXPIRE key seconds: 키의 수명을 초 단위로 설정합니다.
EXPIRE mykey 60
(Redis 명령에 대한 완전한 가이드 | GeeksforGeeks, Redis 기본 명령 튜토리얼 - KoderHQ)
2. 목록 명령
Redis 목록은 연결된 목록으로 구현된 문자열의 정렬된 컬렉션입니다. (Redis 목록 - Tutorialspoint)
- LPUSH key value [value ...]: 하나 이상의 값을 목록의 맨 앞에 추가합니다.
LPUSH mylist "World" LPUSH mylist "Hello"
- RPUSH key value [value ...]: 하나 이상의 값을 목록의 맨 뒤에 추가합니다.
RPUSH mylist "!"
- LRANGE key start stop: 목록에서 요소 범위를 검색합니다.
LRANGE mylist 0 -1
- LPOP key / RPOP key: 목록의 첫 번째 또는 마지막 요소를 제거하고 반환합니다.
LPOP mylist RPOP mylist
- LLEN key: 목록의 길이를 반환합니다.
LLEN mylist
- LSET key index value: 인덱스의 목록 요소를 값으로 설정합니다.
LSET mylist 0 "Hi"
- LREM key count value: 목록에서 값과 같은 요소를 제거합니다.
LREM mylist 1 "Hello"
- LTRIM key start stop: 목록을 지정된 범위로 자릅니다.
LTRIM mylist 0 1
3. 세트 명령
세트는 고유한 문자열의 정렬되지 않은 컬렉션입니다.
- SADD key member [member ...]: 하나 이상의 멤버를 세트에 추가합니다.
SADD myset "Hello" "World"
- SMEMBERS key: 세트의 모든 멤버를 반환합니다.
SMEMBERS myset
- SISMEMBER key member: 주어진 값이 세트의 멤버인지 확인합니다.
SISMEMBER myset "Hello"
- SREM key member [member ...]: 세트에서 하나 이상의 멤버를 제거합니다.
SREM myset "Hello"
- SCARD key: 세트의 cardinality(요소 수)를 반환합니다.
SCARD myset
- SUNION key [key ...]: 주어진 모든 세트의 합집합을 반환합니다.
SUNION set1 set2
- SINTER key [key ...]: 주어진 모든 세트의 교집합을 반환합니다.
SINTER set1 set2
- SDIFF key [key ...]: 첫 번째 세트와 모든 후속 세트 간의 차이를 반환합니다.
SDIFF set1 set2
(명령 | 문서 - Redis, Redis Cheat Sheet & Quick Reference)
4. 해시 명령
해시는 문자열 필드와 문자열 값 간의 맵으로, 객체 표현에 이상적입니다. (Redis 명령 - Tutorialspoint)
- HSET key field value [field value ...]: 키에 저장된 해시의 필드를 값으로 설정합니다.
HSET user:1000 name "John" age "30"
- HGET key field: 해시에서 필드의 값을 가져옵니다.
HGET user:1000 name
- HMGET key field [field ...]: 지정된 모든 필드의 값을 가져옵니다.
HMGET user:1000 name age
- HGETALL key: 해시의 모든 필드와 값을 가져옵니다.
HGETALL user:1000
- HDEL key field [field ...]: 하나 이상의 해시 필드를 삭제합니다.
HDEL user:1000 age
- HEXISTS key field: 해시 필드가 존재하는지 확인합니다.
HEXISTS user:1000 name
- HLEN key: 해시의 필드 수를 반환합니다.
HLEN user:1000
5. 정렬된 세트(ZSet) 명령
정렬된 세트는 세트와 유사하지만 모든 멤버가 관련 점수를 가지고 있어 정렬된 검색이 가능합니다.
- ZADD key score member [score member ...]: 하나 이상의 멤버를 정렬된 세트에 추가하거나 이미 존재하는 경우 점수를 업데이트합니다.
ZADD leaderboard 100 "Player1" 200 "Player2"
- ZRANGE key start stop [WITHSCORES]: 인덱스를 기준으로 정렬된 세트에서 멤버 범위를 반환합니다.
ZRANGE leaderboard 0 -1 WITHSCORES
- ZREVRANGE key start stop [WITHSCORES]: 인덱스를 기준으로 정렬된 세트에서 멤버 범위를 반환하며, 점수는 높은 것부터 낮은 순으로 정렬됩니다.
ZREVRANGE leaderboard 0 -1 WITHSCORES
- ZSCORE key member: 정렬된 세트에서 멤버의 점수를 반환합니다.
ZSCORE leaderboard "Player1"
- ZREM key member [member ...]: 정렬된 세트에서 하나 이상의 멤버를 제거합니다.
ZREM leaderboard "Player1"
- ZCARD key: 정렬된 세트의 멤버 수를 반환합니다.
ZCARD leaderboard
- ZRANK key member: 정렬된 세트에서 멤버의 인덱스를 확인합니다.
ZRANK leaderboard "Player2"
6. 키 관리 명령
이러한 명령은 Redis에서 키를 관리하는 데 사용됩니다.
- KEYS pattern: 지정된 패턴과 일치하는 모든 키를 찾습니다.
KEYS user:*
- SCAN cursor [MATCH pattern] [COUNT count]: 키 공간을 점진적으로 반복합니다.
SCAN 0 MATCH user:*
- RENAME key newkey: 키 이름을 바꿉니다.
RENAME oldkey newkey
- EXPIRE key seconds: 키에 시간 제한을 설정합니다.
EXPIRE mykey 60
- TTL key: 키의 남은 시간을 반환합니다.
TTL mykey
- TYPE key: 키에 저장된 값의 데이터 유형을 반환합니다.
TYPE mykey
(Redis 명령에 대한 완전한 가이드 | GeeksforGeeks)
7. 트랜잭션 명령
Redis는 원자적으로 실행되는 명령 그룹을 통해 트랜잭션을 지원합니다.
- MULTI: 트랜잭션 블록의 시작을 표시합니다.
MULTI
- EXEC: MULTI 이후에 실행된 모든 명령을 실행합니다.
EXEC
- DISCARD: 트랜잭션에서 이전에 대기열에 넣은 모든 명령을 플러시합니다.
DISCARD
- WATCH key [key ...]: MULTI/EXEC 블록의 실행을 결정하기 위해 지정된 키를 감시합니다.
FAQs
KEYS
, EXPIRE
, TTL
및 RENAME
과 같은 명령은 Redis 키를 효율적으로 관리하는 데 도움이 됩니다.
Redis는 MULTI
, EXEC
, WATCH
및 DISCARD
명령을 사용하여 그룹화된 명령의 원자적 실행을 보장합니다.
정렬된 세트는 점수가 있는 고유한 요소를 저장하여 점수를 기준으로 정렬된 검색을 허용합니다.
저희는 백엔드 프로젝트 호스팅을 위한 최고의 선택, Leapcell입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불하십시오. 요청도 없고, 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅
손쉬운 확장성 및 고성능
- 높은 동시성을 쉽게 처리할 수 있는 자동 확장
- 운영 오버헤드가 없으므로 구축에만 집중하십시오.
문서에서 자세히 알아보세요!
X에서 저희를 팔로우하십시오: @LeapcellHQ