DBMS/Redis

[Redis] 기본 명령어

챛채 2025. 1. 14. 15:45

✅ 데이터(Key, Value) 저장하기

# set [key 이름] [value]
$ set chae:name "chaew kim" # 띄워쓰기 해서 저장하려면 쌍따옴표로 묶어주면 됨
$ set chae:hobby running

✅ 데이터 조회하기 (Key로 Value 값 조회하기)

# get [key 이름]
$ get chae:name
$ get chae:hobby

$ get pjs:name # 없는 데이터를 조회할 경우 (nil)이라고 출력됨

✅ 저장된 모든 key 조회하기

$ keys *

✅ 데이터 삭제하기 (Key로 데이터 삭제하기)

# del [key 이름]
$ del chae:hobby

$ get chae:hobby # 삭제됐는 지 확인

✅ 데이터 저장 시 만료시간(TTL) 정하기

레디스는 RDBMS와는 다르게 데이터 저장 시 만료시간을 설정할 수 있다. 즉, 영구적으로 데이터를 저장하지 않고 일정 시간이 되면 데이터가 삭제되도록 셋팅할 수 있다.

레디스의 특성상 메모리 공간이 한정 되어 있기 때문에 모든 데이터를 레디스에 저장할 수 없다. 따라서 만료시간(TTL)을 활용해 자주 사용하는 데이터만 레디스에 저장해놓고 쓰는 식으로 활용한다.

# set [key 이름] [value] ex [만료 시간(초)]
$ set chae:pet dog ex 30

✅ 만료시간(TTL) 확인하기

# ttl [key 이름]
# 만료 시간이 몇 초 남았는 지 반환
# 키가 없는 경우 -2를 반환
# 키는 존재하지만 만료 시간이 설정돼 있지 않은 경우에는 -1을 반환
$ ttl chae:pet 
$ ttl chae:name
$ ttl pjs:name

✅ 모든 데이터 삭제하기

$ flushall

 

 

✅ Key 네이밍 컨벤션

회사마다 여러가지 컨벤션이 존재하겠지만 딱 한가지만 기억하자.

콜론(:)을 활용해 계층적으로 의미를 구분해서 사용

 

예시를 살펴보면 바로 이해가 될 것이다.

  • users:100:profile : 사용자들(users) 중에서 PK가 100인 사용자(user)의 프로필(profile)
  • products:123:details : 상품들(products) 중에서 PK가 123인 상품(product)의 세부사항(details)

이런 식으로 컨벤션을 정했을 때의 장점이 있다.

  1. 가독성 : 데이터의 의미와 용도를 쉽게 파악할 수 있다.
  2. 일관성 : 컨벤션을 따름으로써 코드의 일관성이 높아지고 유지보수가 쉬워진다.
  3. 검색 및 필터링 용이성 : 패턴 매칭을 사용해 특정 유형의 Key를 쉽게 찾을 수 있다 .
  4. 확장성 : 서로 다른 Key와 이름이 겹쳐 충돌할 일이 적어진다.