본문 바로가기
DevOps/Redis

[Redis] 레디스(Redis) 기본 명령어

by ryuneng 2025. 1. 25.
반응형

0. Redis 실행 확인

  • 1) Redis를 설치한 경로를 열어 redis-cli.exe를 실행한다.

  • 2) 터미널이 뜨면, ping 명령어를 입력하고, PONG이라는 응답을 받음으로써 정상적으로 실행되는 것을 확인할 수 있다.


그럼 이제 본격적으로 Redis의 주요 명령어 7가지에 대해 알아보자.

1. 데이터 저장

  • set [key] [value]
  • Value에 띄어쓰기가 있는 경우 : set [key] "[value]"

2. 저장된 Value 데이터 1건 조회

  • get [key]

3. 저장된 모든 Key 조회

  • keys *

4. 데이터 삭제

  • del [key]
  • 삭제 확인 : get [key] -> 데이터가 없을 시, (nil) 반환

5. 만료시간(TTL) 설정하여 데이터 저장

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

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

  • set [key] [value] ex [seconds]
  • ex : expiration(만료)의 약자
    seconds : 초(시간)

6. 만료시간 확인

  • ttl [key]
  • -2 : key가 없는 경우 (TTL 끝난 데이터)
    -1 : key값은 존재하지만, 만료시간(TTL)이 설정되어 있지 않은 경우

7. 저장된 모든 데이터 삭제

  • flushall
  • 삭제 확인 : keys * -> 데이터가 없을 시, (empty list or set) 반환


💡 Redis의 Key 네이밍 컨벤션

Redis의 Key 이름을 잘 짓는 것은 굉장히 중요하다.
현업에서 자주 사용하는 Key 네이밍 컨벤션에 대해 알아보자.

  • 현업에서 자주 사용하는 네이밍 컨벤션
    • 콜론(:)을 활용해 계층적으로 의미를 구분해서 사용
  • 예시
    • users:100:profile - 사용자들(users) 중에서 PK가 100인 사용자(user)의 프로필(profile)
    • products:123:details - 상품들(products) 중에서 PK가 123인 상품(product)의 세부사항(details)
  • 컨벤션의 장점
    1. 가독성 : 데이터의 의미와 용도를 쉽게 파악할 수 있다.
    2. 일관성 : 컨벤션을 따름으로써 코드의 일관성이 높아지고 유지보수가 쉬워진다.
    3. 검색 및 필터링 용이성 : 패턴 매칭을 사용해 특정 유형의 Key를 쉽게 찾을 수 있다.
    4. 확장성 : 서로 다른 Key와 이름이 겹쳐 충돌할 일이 적어진다.



Reference

 


< 해당 글은 velog에서 이전하며 옮겨온 글로, 가독성이 좋지 않을 수 있는 점 양해 부탁드립니다. >

🔗 velog 버전 보기 : https://velog.io/@ryuneng2/Redis-레디스-기본-명령어