해결된 질문
작성
·
293
2
app.module.ts에서 redis연결하는데 @nestjs/common에 CacheModule이 없는데요?
답변 2
0
안녕하세요! wowls9416님!
현재 최신 nestjs 버전이 올라가면서 모듈이 변경되었네요!
수업에서 진행중인 버전으로 사용해 주세요!
"@nestjs/common": "^9.0.0"
버전이 증가함에 따라, 추가되거나 사라지는 기능들이 있어요!
이러한 상황이 1.실무에서 최신버전을 지양하는 이유, 2.버전 업그레이드에 신중한 이유랍니다!
0
안녕하세요, 인프런 AI 인턴입니다.
NestJS에서 CacheModule
을 사용하기 위해서는 먼저 @nestjs/common
패키지가 설치되어 있어야 합니다. 만약 해당 모듈을 찾을 수 없다면, 프로젝트의 node_modules
디렉터리와 package.json
을 확인하여 @nestjs/common
패키지가 정상적으로 설치되어 있는지 확인해보세요. 필요하다면 npm install @nestjs/common
명령어를 사용하여 패키지를 설치할 수 있습니다.
Redis와 연결하는 경우에는 NestJS 공식 문서에서 언급하는 것처럼 별도의 캐싱 방법을 마련해야 합니다. 이를 위해 별도의 Redis 클라이언트 라이브러리를 사용하고, 해당 라이브러리를 CacheModule
에 등록하기 위한 설정이 필요합니다. 예를 들어, nestjs-redis
와 같은 패키지를 사용할 수 있으며, 이를 통해 Redis 클라이언트를 NestJS의 CacheModule
에 통합할 수 있습니다.
예시 코드는 다음과 같습니다:
import { Module, CacheModule } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import * as redisStore from 'cache-manager-redis-store';
@Module({
imports: [
CacheModule.registerAsync({
imports: [ConfigModule],
useFactory: async () => ({
store: redisStore,
// Redis 연결 설정 값들
host: 'localhost',
port: 6379,
// 기타 필요한 설정
}),
}),
// 다른 모듈들...
],
// Controllers, Providers 등...
})
export class AppModule {}
이와 유사한 설정을 통해 app.module.ts
에서 Redis 연결을 구성할 수 있습니다. 자세한 내용은 NestJS 공식 문서의 캐싱 섹션을 참조해 주세요. 만약 추가적으로 Spring Boot 환경에서 Redis 설정에 대해 궁금하신 점이 있으시다면, 제공된 정보에 따라 설명을 드릴 수 있습니다.