ping
명령어를 입력하고, PONG
이라는 응답을 받음으로써 정상적으로 실행되는 것을 확인할 수 있다.그럼 이제 본격적으로 Redis의 주요 명령어 7가지에 대해 알아보자.
set [key] [value]
set [key] "[value]"
get [key]
keys *
del [key]
get [key]
-> 데이터가 없을 시, (nil)
반환레디스는 RDBMS와 다르게 데이터 저장 시 만료시간(TTL, Time To Live)을 설정할 수 있다. 영구적으로 데이터를 저장하지 않고 일정 시간이 되면 데이터가 삭제되도록 세팅할 수 있는 기능이다.
❓ 만료시간(TTL, Time To Live)이 있는 이유
: 레디스의 특성 상 메모리 공간이 한정되어 있기 때문에 (Disk보다 Ram의 용량이 더 작음) 모든 데이터를 레디스에 저장할 수 없다. 따라서, 만료 시간(TTL)을 활용해 자주 사용하는 데이터만 저장해놓고 사용하는 식으로 활용한다.
set [key] [value] ex [seconds]
ex
: expiration(만료)의 약자seconds
: 초(시간)ttl [key]
-2
: key가 없는 경우 (TTL 끝난 데이터)-1
: key값은 존재하지만, 만료시간(TTL)이 설정되어 있지 않은 경우flushall
keys *
-> 데이터가 없을 시, (empty list or set)
반환Redis의 Key 이름을 잘 짓는 것은 굉장히 중요하다.
현업에서 자주 사용하는 Key 네이밍 컨벤션에 대해 알아보자.
:
)을 활용해 계층적으로 의미를 구분해서 사용users:100:profile
- 사용자들(users) 중에서 PK가 100인 사용자(user)의 프로필(profile)products:123:details
- 상품들(products) 중에서 PK가 123인 상품(product)의 세부사항(details)Reference