ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Redis basic practice
    Data Base/Redis 2022. 10. 2. 20:56

     

    redis-cli로 redis server에 접속하면, cli로 NodeJS에 명령를 실행하는 것처럼  redis에서 명령을 실행하고 access할 수 있다.

     

    가장 먼저 할 수 있는 일은 redis 데이터베이스에 항목을 추가하는 것이다. redis는 key-value pair를 이루는 데이터베이스 이므로 가장 중요한 것은 key에 대한 값을 설정하고, 그 값을 가져오는 것이다.


    SET으로 key-value 저장하기

    GET으로 value가져오기


    Redis 문자열 저장

    간단한 예제에서 알 수 있듯이 redis내부에 저장되는 거의 모든 것은 문자열 유형이 될 것이다. redis를 사용하여 데이터를 처리할 때는 대부분 문자열로 돌아올 것이다.

     

    위와 같이 숫자인 나이를 저장한뒤 값을 반환 받으면 그 값은 문자열 타입이다. 하지만 기술적으로 redis는 "26"이 정수라는 것을 알 만큼 충분히 똑똑하다.

     

    없는 값 삭제된 값을 GET 할때 


    EXISTS 명령어

    redis를 이용해서 key-value를 set,get,del 등의 명령을 내릴수 있다. 또 한 위 예제 처럼 key이름으로 exist 명령을 할 수 있고 이 명령어는 key이름에 해당하는 value의 삭제및 존재 여부 확인 할 수 있게 해준다.

     

    KEYS 명령어

    특정 패턴과 일치하는 모든 키를 찾는 명령어로 "*"를 넣으면 현재 redis에 존재하는 모든 key를 확인 할 수 있다. 해당 명령어는 데이터베이스 내부를 확인할 수 있는 좋은 명령어이다.

     

    flushall 명령어

    해당 명령어를 입력하여 데이터베이스에 저장되어 있는 모든 key-vlaue pair를 제거할 수 도 있다. 이 명령어는 캐싱에 문제가 있는 경우 모든 것을 지우는 좋은 방법이다.


    Redis의 만료

     

    TTL명령어

    이 명령어는 Time To Live의 축약어이다. 위 예시에서 볼 수 있는 것처럼 TTL의 기본 값은 음수이다. 특히 "- 1"은 만료일이 아예 존재하지 않는다는 것을 의미하며 따라서 key이름이 name인 key-value는 영원히 존재한다.

     

    EXPIRE명령어

    expire [key이름] [~~second]

    하지만 실제 사용할때 redis의 key-value pair는 특정 시점이 되면 만료되어 해당 redis-server에서 삭제된다. 위 예제와 같이 expire 명령어를 사용하여 만료시간을 지정할 수 있다. 

     

    위 예제에서는 만료시간을 10초로 지정한 후에 TTL 명령로 name의 ttl을 확인해 보면, 5초에 ttl이 남은 것을 확인 할 수있다. 이로 이해 ttl이 지정되자 마자 지속적으로 카운트되고 있음을 확인할 수 있다.

     

    - 2 값 반환

    일단 ttl이 0으로 내려가면 해당 key를 완전히 삭제할 것이다. 만료시간이 지난후 해당 key이름으로 ttl을 확인하면 "- 2"의 값을 반환하는 것을 확인 할 수 있다.

     

    해당 key값으로 GET명령어를 실행하면 아무것도 반환되지 않는다. 왜냐하면 해당 key-value는 만료되었기 때문이다.

     

    setex명령어

    만료 시간을 갖는 데이터를 저장할 때 유용하게 쓰이는 명령이다. ttl을 이용해서 계속 만료시간을 확인해보면 해당 key-vlaue pair가 지속적으로 카운팅 되고 있는 것을 확인 할 수 있다.

     

    redis를 이용해서 대부분 문자열을 처리할 것이긴 하지만 redis는 JSON object와 같이  Array,List,Hash 타입을 지원하기도 한다.

     

    [출처- https://youtu.be/jgpVdJB2sKQ]

    'Data Base > Redis' 카테고리의 다른 글

    Redis Hash 형식과 명령어  (0) 2022.10.03
    Redis Set 형식과 명령어  (0) 2022.10.03
    Redis List 형식과 명령어  (0) 2022.10.02

    댓글

Designed by Tistory.