레디스 명령어는 서버 구현할때는 많이 필요하지만, 실제 사용할때는 보통 디버깅에서 자주 사용하게 된다. 그러다보니 사용빈도 가 높지 않기 때문에 사용할때마다 그때 그때 찾아보는 편인데, 오늘 정리한 명령어들은 실제 서비스에서 사용하는 명령어는 아니고 기본적인 레디스 명령어 예시이다. 이런 기본적인 명령어부터 눈에 익혀놓으면 좋을 것 같아 기록해두었다.

 

 

 

레디스 명령어 (GET과 SET)

 

SET 명령어 예시 10가지

 

SET key1 "value1"                # 문자열 값 설정
SET key2 "value2"                # 다른 문자열 값 설정
SET username "john_doe"          # 사용자명 설정
SET age 30                        # 나이 설정
SET mylist 1 2 3                  # 리스트 값 설정
SET myhash field1 "value1" field2 "value2"   # 해시 필드 값 설정
SET counter 10                    # 카운터 값 설정
SET email "john@example.com"      # 이메일 주소 설정
SET status "active"               # 상태 설정
SET description "Redis is a key-value store"   # 설명 설정

 

 

GET 명령어 예시

GET key1                 # "value1" 반환
GET key2                 # "value2" 반환
GET username             # "john_doe" 반환
GET age                  # "30" 반환
LRANGE mylist 0 -1       # ["1", "2", "3"] 반환 (리스트 전체)
HGETALL myhash           # {"field1":"value1","field2":"value2"} 반환 (해시 전체)
GET counter              # "10" 반환
GET email                # "john@example.com" 반환
GET status               # "active" 반환
GET description          # "Redis is a key-value store" 반환

자료형에 따라 가져오는 명령어가 다르기도 하기 때문에, 서비스에서 레디스에서 어떤 자료형을 사용하는지 파악하고 그에 맞는 GET, SET 명령어를 익혀두면 좋다.

 

 

레디스 대표 자료형의 명령어

 

문자열 명령어

SET key value                # 문자열 저장
GET key                      # 문자열 가져오기
APPEND key "new value"       # 기존 문자열에 추가
STRLEN key                   # 문자열 길이 확인
INCR counter                 # 숫자 증가
DECR counter                 # 숫자 감소

 

 

리스트(List) 명령어

RPUSH mylist "item1"         # 리스트 끝에 아이템 추가
RPUSH mylist "item2"
LRANGE mylist 0 -1           # 전체 리스트 아이템 가져오기
LPOP mylist                  # 리스트 첫 아이템 제거
LLEN mylist                  # 리스트 길이 확인

 

 

 

해시(Hash) 명령어

HSET myhash field1 "value1"  # 해시 필드 설정
HSET myhash field2 "value2"
HGET myhash field1           # 해시 필드 값 가져오기
HDEL myhash field2           # 해시 필드 제거
HGETALL myhash               # 전체 해시 필드 가져오기

 

집합(Set) 명령어

SADD myset "member1"         # 집합에 멤버 추가
SADD myset "member2"
SMEMBERS myset               # 집합의 모든 멤버 가져오기
SISMEMBER myset "member1"    # 멤버가 집합에 있는지 확인
SREM myset "member2"         # 집합에서 멤버 제거

 

 

CAP 이론

레디스도 분산 시스템에서 사용되는 데이터베이스이기 때문에, CAP 이론을 책에서도 설명하고 있다. 이 이론은 분산 시스템 설계와 운영에 대한 중요한 3가지 원칙으로 구성되어 있다.

 

1.일관성 (Consistency): 모든 사람이 같은 정보를 볼 수 있게 하는 것. 예를 들어, 계좌 이체를 하면 동시에 모든 사람들이 이 변경을 볼 수 있어야 한다는 것.

2. 가용성 (Availability): 항상 시스템이 작동 가능한 상태를 유지하는 것. 누구든지 시스템을 사용하려고 할 때 언제나 접근 가능해야 한다는 것.

3. 분할 내성 (Partition Tolerance): 네트워크 문제가 발생해도 시스템이 계속해서 작동하는 것. 네트워크 연결이 끊겨도 시스템이 멈추지 않고 작동해야 한다는 것.

 

CAP 이론의 이 세가지 속성을 한번에 만족시키기는 어렵다. 예를들면 네트워크 문제가 발생했을때는 데이터가 일관되기 어려운 경우가 발생하는 것 처럼, 세가지 속성사이에는 딜레마가 존재하기 때문에 구현하면서 도메인이 어떤 것들이 더 중요한지 잘 결정해서 trade-off를 하는 수 밖에 없다. 설계할때 이런 부분들을 잘 고려해서 어떤 부분을 가져가고 어떤 부분을 포기할 것인지를 결정해야한다.

 

 

 

 

레디스 스터디를 위한 서적 및 웹사이트

 

 레디스에서 제공하는 기본적인 명령어들을 알아보았는데, 레디스는 국내 웹서비스에서 아주 보편적으로 사용하는 데이터베이스 중 하나인데도 국내에 서적이 많이 없다. 그래도 찾다보니 Redis5 이후에 나온 Cluster, Sentinel 관련 개념들이나 동작원리를 소개한 책도 몇 권 찾을 수 있었는데, 이유를 가만 생각해보면 Redis5 이후 기능들을 대부분 운영관점에서 자주 쓰이다보니 그런 것같기도 하다. 

 

 그래서인지 레디스 기본명령어를 익힐때는 오히려 웹상에 있는 사이트들을 추천하기도 하는데 대표적인 사이트와 찾은 서적을 기록한다.

 

http://redisgate.kr/redis/command/set.php

 

SET Redis

set SET 저장 set은 데이터를 저장하는 명령입니다. 사용법은 set key value입니다. get은 저장된 데이터를 가져오는 명령입니다. Example 명령>set key value 결과>OK 명령>get key 결과>value 큰따옴표 사용 value

redisgate.kr

 

https://www.yes24.com/Product/Goods/16512938

 

[전자책]이것이 레디스다 - 예스24

초고속 읽기 쓰기를 제공하는 인메모리 기반 NoSQL, Redis를 소개한다. 레디스를 실전 환경에서 사용할 수 있도록 설치부터 확장과 분산 기법 및 운영 시 고려사항과 튜닝 기법을 제시한다. 루아 스

www.yes24.com

 

무려 2014년도 책. 레디스뿐만 아니라 NoSQL이 나오게된 배경부터 기본개념을 차근차근 설명해주는책.

 

 

https://www.yes24.com/Product/Goods/30503660

 

Redis 핵심정리 - 예스24

레디스는 인메모리(In-memory) 고성능 키-값 데이터 저장소로서, 강력한 성능을 보여준다. 다양한 타입을 제공할 뿐아니라, 캐시 크기에 대한 제한이 상대적으로 높지 않으면서도 가볍고 이식성이

www.yes24.com

cluster, sentinel 동작원리나 기본적인 개념에대한 설명을 포함하는 서적. 기본 명령어들에 대한 예시도 다수 포함되어 있으며 가볍게 볼 수 있는 책으로 생각됨.

 

 

https://www.yes24.com/Product/Goods/7763985

 

Redis in Action - 예스24

SummaryRedis in Action introduces Redis and walks you through examples that demonstrate how to use it effectively. You`ll begin by getting Redis ...

www.yes24.com

아쉽게도 번역본은 없는 redis in action

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기