REDIS

신홍석·2022년 4월 24일
0

REDIS - CACHING

Redis 는 컴퓨터의 RAM 같은 기능을 담당한다.

키-값 구조의 비관계형 데이터베이스, 엄청나게 빠른 속도로 데이터를 읽을 수 있다.

Remote Dictionary Server

속도가 빨라서 최고의 성능이 필요한 웹, 모바일, 게임, 광고 IoT 애플리케이션에서 널리 사용되고 있습니다.

레디스 설치 방법

- yarn add redis
- yarn add cache-manager-redis-store

nestjs 레디스 사용법

@Inject(CACHE_MANAGER)
private readonly cacheManager: Cache,

레디스는 캐쉬를 이용해서 저장과 불러오기를 하는것 같다.
캐쉬매니저를 통해서 불러오기와 저장을 해보자

export interface Store {
    // These functions will just be bound to the Cache object if they exist so args can be anything
    get<T>(...args: any[]): Promise<any>;
    set<T>(...args: any[]): Promise<any>;

    mget?<T>(...args: any[]): Promise<any>;
    mset?<T>(...args: any[]): Promise<any>;
    del?<T>(...args: any[]): Promise<any>;
    setex?<T>(...args: any[]): Promise<any>;
    reset?<T>(...args: any[]): Promise<any>;
    keys?<T>(...args: any[]): Promise<any>;
    ttl?<T>(...args: any[]): Promise<any>;
}

캐쉬를 컨트롤 클릭해서 들어가보면 이런 명령어? 들이 존재한다.

직접 저장해보면

  await this.cacheManager.set(
      carintro, //
      values,
      {
        ttl: 100,
      },
    );
  }

cacheManaer.set
set을 이용해서 첫번재 는 키값 (carintro) 두번째는 밸류가 된다 (values)
마지막으로
ttl 로 저장 기간을 정해 줄 수 있다.

caheManager.get
get 을 이용해서 불러온다.

async redisGetAll({ carintro }) {
    const mycache = await this.cacheManager.get(carintro);
    return mycache;
  }

레디스에 저장된 key 값이 carintro 인 밸류를 소환한다.

profile
백엔드 개발자 공부

0개의 댓글