Redis

레디스는 인메모리 기반의 NoSQL 데이터베이스이다.

지금껏 괜히 레디스라고 하면 괜히 쓰기 힘들것 같아서 미뤄뒀었다.

그러다가 안해본것들 하나씩 해보기의 일환으로 이번에는 레디스를 써보기로 했다.


Redis 설치

레디스를 쓰려면 우선 EC2든 로컬이든 레디스가 깔려있어야 한다.

인텔리제이 얼티밋 버전은 따로 DB 연결을 관리하는지는 모르겠지만 본인은 흙수저 버전이므로 직접 설치한다.

맥에서는 아마 brew로 다운 받지 않을까 싶은데 윈도우에서는 직접 설치했다.

윈도우 환경에서 레디스를 설치하려면 아래 링크에서 원하는 버전의 msi 확장자로 다운받고 설치한다.

본인은 윈도우 10을 쓰고 있고 Redis는 대충 최신 버전으로 했음(3.0.504)

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

msi 파일 실행하고 설치는 꽤 직관적이므로 설치 과정은 생략한다.

설치가 완료 됐으면 아래처럼 작업 관리자에서 실행중인지 확인할 수 있다.


Redis 사용

윈도우에서는 redis-cli.exe를 사용해서 레디스 상태를 확인할 수 있다.

위에서 설치한 레디스 경로로 가보면 redis-cli.exe가 있을것이다.

redis-cli에 ping을 입력하면 pong으로 응답이 오면 제대로 연결된것이다.

레디스의 기본 포트번호는 6379이다.

만약 이 포트번호를 바꿔서 사용하고 싶다면 redis.windows.conf 설정을 바꾸면 된다.

레디스 데이터베이스 선택하기

기본적으로 0~15의 instance가 떠있으며, 각각의 인스턴스에 데이터를 따로 저장할 수 있다.

아래 커맨드로 데이터베이스를 선택할 수 있다

SELECT 번호 // 기본 값은 0

 

아래처럼 cli 입력부분에서 몇번째 데이터베이스를 쓰는지 확인할 수 있다.

레디스에 데이터 읽기/쓰기

redis-cli에 아래와 같은 커맨드로 입력하면 key, value 형태로 저장된다.

커맨드가 성공하면 OK라는 응답값을 준다.

SET key value

 

redis-cli에 아래와 같은 커맨드로 입력하면 key에 해당하는 value 값이 출력된다.

만약 key에 해당하는 데이터가 없을 때에는 (nil)이라는 응답을 반환한다.

GET key

 

직접 redis-cli로 써보면 아래와 같이 확인할 수 있다.

레디스에 저장된 데이터 삭제하기

redis-cli에 아래처럼 커맨드를 입력하면 key에 해당하는 데이터들이 삭제된다.

삭제에 성공하면 (interger) 1 이라는 값을 반환하고, 실패하면 (integer) 0이라는 값을 반환한다.

DEL key1 key2 key3

 

위 읽기/쓰기에서 이어서 redis-cli를 써서 해보면 아래와 같이 확인할 수 있다.

  • 처음 hi에 해당하는 값을 지울때는 저장된 데이터가 있었으므로 (integer) 1을 반환
  • 이후 조회 시 저장된 데이터가 없으니 (nil) 반환
  • 다시 hi에 해당하는 값을 지울때는 저장된 데이터가 없으므로 0 반환

레디스에 저장된 모든 데이터 삭제하기

테스트코드를 돌릴 때 이상적인 테스트 환경을 보장하기 위해 각각의 테스트 전후로 DB를 비워둔다.

이럴 때 사용하는 레디스 커맨드는 아래와 같다.

FLUSHDB   // 현재 선택한 데이터베이스의 데이터 삭제
FLUSHALL  // 모든 데이터베이스의 데이터 삭제

 

'데이터베이스' 카테고리의 다른 글

MySQL에서 인덱스 사용 후 성능 비교  (0) 2024.05.27
[DB] DML, DDL, DCL 이란?  (0) 2023.10.01

+ Recent posts