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 인 밸류를 소환한다.