Redis String과 List만 사용해보기(Window 환경)

Jang990·2023년 9월 9일
0

설치

https://github.com/microsoftarchive/redis/releases

여기로 가서 Redis-x64-3.0.504.msi를 설치하면 된다.

실행

설치한 폴더로 이동해서 redis-cli를 실행해보자.

테스트

ping이라는 명령어를 통해 pong이라는 응답을 받으면 Redis가 잘 실행되고 있는 것이다.

기본 실행

저장

Redis는 키와 값으로 데이터를 저장할 수 있다.
SET 명령어를 통해 키(name)에 값(jang)을 값을 저장해보자.
명령어는 대소문자를 구분하지 않아도 된다.

조회

GET 명령어를 통해 저장한 키(name)로 값을 조회해보자.

이번에는 age에 숫자를 저장하고 조회해보겠다.

여기서 알 수 있는 것은 25같은 숫자도 기본적으로 Redis는 문자열 타입으로 값을 저장한다는 것이다.

삭제

DEL 명령어를 통해 저장된 키(age)를 제거해보자.

age를 제거한 후 다시 조회하면 null이 반환되는 것을 볼 수 있다.

EXISTS

EXISTS 명령어를 사용하여 해당 KEY가 DB내에 존재하는지 확인할 수 있다.
앞서 age를 제거했기 때문에 EXISTS age 명령어의 결과로 false를 의미하는 0이 반환되는 것을 확인할 수 있다.

KEYS

KEYS 명령어를 이용해서 패턴이 일치하는 모든 키들도 찾을 수 있다.

Flush-All

FLUSHALL 명령어를 이용해서 Key를 전부 지울 수도 있다.


캐싱 문제가 있을 때 사용할 수 있다.

만료 시간

이제 만료시간을 알아보자.

TTL(Time To Live)

TTL 명령어를 통해서 만료 시간을 확인할 수 있다.

지금 name은 -1이라는 만료 시간을 확인할 수 있다.
-1은 만료가 되지 않음을 의미한다.

Expire

Expire 명령어를 통해 만료 시간을 설정할 수 있다.
name10초 뒤에 만료되도록 설정해보자.

10초로 설정하고 TTL 명령어를 통해서 지속적으로 만료 시간을 확인했다.
최종적으로 -2가 된것을 확인할 수 있다.

-2는 키가 만료되었음을 나타낸다.

GET 명령어를 통해 name을 조회해도 값이 없는 것을 확인할 수 있다.

SET-EX

SETEX 키 만료시간(초) 값 명령어를 통해 만료시간동안 해당 키에 해당 값을 저장하도록 만들 수 있다.

해당 예시에서는 10초 동안 name이라는 키가 jang이라는 값을 가지도록 만들었다.

리스트

문자열을 Redis에 저장할 수 있지만 List 형식의 데이터 또한 저장할 수 있다.

LPUSH

LPUSH 키 값을 통해 리스트의 왼쪽에 데이터를 저장한다.


friends라는 리스트에 jang과 kim을 저장했다.
왼쪽에 데이터를 삽입하는 방식이기 때문에
kim - jang 이라는 순서로 저장되어 있을 것이다.

LIST-RANGE

LRANGE 시작인덱스 마지막 인덱스 시작 인덱스부터 마지막 인덱스까지 조회한다.
여기서는 LRANGE friends 0 -1 명령어를 통해 리스트의 처음부터 끝까지 조회했다.

RPUSH

RPUSH 키 값을 통해 리스트의 오른쪽에 데이터를 저장한다.

jung을 리스트의 오른쪽에 저장했기 때문에 마지막으로 조회되는 것을 확인할 수 있다.

LPOP && RPOP

LPOP 또는 RPOP을 통해 시작 부분(가장 왼쪽) 또는 끝 부분(가장 오른쪽)에 데이터를 가져올 수 있다.
물론 가져온 데이터는 리스트에서 제거된다.

(kim) 팝! - jange - jung

jange - (jung) 팝!

이러한 기능은 예를들어 메시징 앱에서 가장 최근 메시지를 5개를 캐시한다고 할 때 유용하게 사용할 수 있다.
메시지를 LPUSH로 밀어넣고 RPOP으로 오래된 것을 삭제하며,
리스트의 크기를 5로 유지하면 된다.


이외에도 Redis에는 다양한 자료형이 있지만 이번 글에서는 Redis에 대해 대략적인 이해를 하는 정도로 기본적인 String 형식과 List 형식만을 써봤다.

profile
공부한 내용을 적지 말고 이해한 내용을 설명하자

0개의 댓글