[Redis] Redis란?
- Redis
- 2020. 8. 20.
이번 글에서는 오픈소스 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' 카테고리의 다른 글
[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 |