Redis

Rony·2021년 5월 25일
0

앱의 토큰정보를 변수에 담아서 사용하다보니 백앤드 서버가 꺼졌다가 켜질때마다 토큰정보를 새로받아와야 하는 불편함이 있다.

그럼 토큰정보를 유실시키지 않으려면 어떻게 해야 할까?

단순한 데이터를 관계형 데이터베이스인 mysql 에 담기는 좀 리소스 낭비인것같은 느낌이 든다.

이런경우 쓸수 있는 괜찮은 비관계형 데이터베이스가 있는데 바로 레디스다.

Redis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 이다.

Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 한다.

레디스(Redis)란 무엇인가?

레디스는 캐시데이터기 때문에 저장 및 조회하는 속도가 빠르고 별도의 저장소에 저장이 되기 때문에 백앤드 서버의 종료여부와 상관없이 데이터를 저장하고 불러쓸 수 있다.

( 물론 레디스도 휘발성 메모리이기 떄문에 레디스 서버가 재부팅되면 해당 데이터는 삭제된다. )

레디스를 사용하려면 aws 에서 제공하는 elastic cache 를 사용해도 되지만 비용이 소비 되므로 무료로 사용할 수 있는 Redis cloud 를 써보도록 하자.

  1. redis cloud 회원가입

    Try Redis Enterprise | Redis Labs

    먼저 홈페이지에 접속해서 회원가입을 진행해야 한다.

정보를 입력하고 시작하기를 누르면

메일을 확인하라는 화면이 나오는데 입력한 메일을 확인하여 인증을 진행해주어야 한다.

인증이 완료되면 어떤 상품정보를 사용할건지 설정하는 화면이 나오는데

free 로 되어있는 30MB 를 선택해주면 된다.

create 선택후 정보를 설정해주자.

생성이 완료되면 나오는 화면에서 Endpoint 정보를 확인하자.

ioredis

node.js 에서 레디스를 사용하려면 어떻게 해야 할까?

npm 에서는 많은 레디스 패키지를 지원하는데 여기서는 ioredis 를 써보도록 하겠다.

ioredis

먼저 ioredis 를 설치해준다.

    npm install ioredis --save

레디스 접속 설정은 다음과 같다.

    const Redis = require('ioredis');
    const redis = new Redis({
      host: '호스트',
      port: '포트',
      password: '비밀번호',
      db: 0
    });

위의 레디스 접속 설정은 위에 redislabs 에 생성한 데이터베이스의 endPoint 와 비밀번호를 확인후 넣어준다.

사용법은 다음과 같다.

    // 데이터 저장.
    redis.set('키', '값');

    // 데이터 호출
    const findData = await redis.get('키');

Medis

medis 는 레디스에 저장된 데이터 정보를 볼수 있는 ui 툴이다.

아래의 설치 방법에 따라 설치후 접속하게되면 내가 입력한 데이터정보를 볼수 있다.

luin/medis

END -

profile
sang kwon seo

0개의 댓글