[Redis] Redis란?

반응형

이번 글에서는 오픈소스 in-memory 데이터 저장소인 redis에 대해 알아보도록 하겠습니다.

0. Redis란?

오픈소스 in-memory data store입니다. 모든 데이터는 memory에 저장되며 휘발성 입니다. 따라서 shutdown시 데이터를 보관하기 위해 disk에 별도로 데이터 backup이 필요합니다.

redis의 사용용도는 크게 아래의 세가지로 구분됩니다.

• In-Memory Database : redis는 key-value 구조의 대표적인 NoSQL입니다.
• Cache : temporary data를 읽고 쓰기위한 cache server로 redis가 사용됩니다.
• Message Broker : redis를 사용해 메세지를 publish/subscribe 할 수 있습니다.

1. Key

redis의 모든 데이터는 key based로 저장됩니다. redis-cli에서 사용할 수 있는 명령어 목록은 다음과 같습니다.

@ KEY에 VALUE 값을 할당합니다.

SET [KEY] [VALUE] 

@ KEY에 할당된 값을 가져옵니다.

GET [KEY]

@ KEY를 제거합니다.

DEL [KEY1]

@ KEY가 존재하는지 확인합니다.

EXISTS [KEY]

@ KEY의 time to live 시간을 초단위로 확인합니다.

TTL [KEY]

@ KEY의 time to live 시간을 초단위로 설정합니다.

EXPIRE [KEY] [SECONDS]

@ KEY의 time to live 시간을 밀리 초단위로 확인합니다.

PTTL [KEY]

@ KEY의 time to live 시간을 밀리 초단위로 설정합니다.

PEXPIRE [KEY] [MICRO_SECONDS]

@ KEY에 설정된 time to live 값을 제거합니다.

PERSISTS [KEY]

@ PATTERN에 일치하는 key들을 확인합니다.

KEYS [PATTERN]

• h?llo : matches hello, hallo and hxllo
• h*llo : matches hllo and heeeello
• h[ae]llo : matches hallo and hello, but not hillo
• h[^e]llo : matches hallo, hbllo, ... but not hello
• h[a-b]llo : matches hallo and hbllo

@ KEY중 랜덤으로 하나를 반환합니다.

RANDOMKEY

@ OLD_KEY의 이름을 NEW_KEY로 변경합니다. 만약 NEW_KEY가 이미 존재할 경우 기존의 NEW_KEY는 제거됩니다.

RENAME [OLD_KEY] [NEW_KEY]

@ OLD_KEY의 이름을 NEW_KEY로 변경합니다. 만약 NEW_KEY가 이미 존재할 경우 에러가 발생합니다.

RENAMENX [OLD_KEY] [NEW_KEY]

@ 마지막으로 KEY에 접근한 시간을 변경합니다.

TOUCH [KEY]

@ 비동기로 KEY를 제거합니다. KEY삭제를위해 현재의 Thread가 멈추지 않습니다.

UNLINK [KEY]

@ KEY의 TYPE을 반환합니다.

TYPE [KEY]

@ KEY의 VALUE를 Serailize한 값을 반환합니다. Serialize한 값은 RESTORE에서 사용할 수 있습니다.

DUMP [KEY]

@ SERIALIZED_VALUE를 사용해 KEY값을 복구합니다. TTL에 0을 설정할 경우 해당 KEY는 PERSIST 합니다.

RESOTRE [KEY] [TTL] [SERIALIZED_VALUE]

참고 자료 : https://www.udemy.com/course/redis-bootcamp-for-beginners/


추천서적

 

Redis Essentials

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음


반응형

'Redis' 카테고리의 다른 글

[Redis] Set  (0) 2020.08.20
[Redis] Hash  (0) 2020.08.20
[Redis] List  (0) 2020.08.20
[Redis] String  (0) 2020.08.20
[Redis] Redis Download  (0) 2020.08.20

댓글

Designed by JB FACTORY