반응형
✅오늘학습 Keyword
2023.06.09 - [프로젝트] - 230609 실전프로젝트9 [Node.js/Nest.js_redis 적용하기2]
✅오늘 겪은 문제
nest.js가 제공하는 cachemodule과 Redis를 연동하여 이용하기. 여전히 연결이 안되고 있다.
문제를 해결하기전에 각 기능의 역할을 명료하게 짚고 넘어가기로 했다.
- CacheModule: 다양한 cache-storage 지원을 위해 NestJs에서 제공하는 cache-storage 특화 모듈, CacheModule은 redis와 같은 외부 cache-storage 뿐만아니라 빌트인된 in-memory 스토리지 기능도 제공,redis를 연결하기 전에 CacheModule을 설정하고, in-memory 스토리지를 테스트 했고, 정상작동 확인하였다.
- cache-manager: CacheModule은 내부적으로 cache-manager를 사용하여 캐시 관련 작업을 처리함. cache-manager는 다양한 캐시 스토어(ex..Redis)를 지원한다. CacheModule은 @nestjs/cache-manager 패키지에 포함됌.
- ioredis: Redis db를 다루기 위한 node.js 라이브러리, Redis서버와의 연결을 관리하고 명령을 전송한다. CacheModule이 nest.js에서 캐시 관련 기능을 구현하는 모듈이라면, ioredis는 redis db와의 상호작용을 위한 라이브러리.
- RedisStore: cache-manager패키지의 일부, Redis를 위한 캐시 스토어이다.
- in-memory가 아닌 redis를 연동하여 사용하고 싶으면 아래 패키지 다운이 필요하다.
- $ npm install cache-manager-ioredis --save
$ npm install -D @types/cache-manager-ioredis
해결하기위한 시도
- Redis 서버가 실행 중인지 확인 : 정상적으로 가동중
- Redis 클라이언트 라이브러리 버전 호환성: redis 버전은 4.6.7이고, cache-manager-ioredis 버전은 2.1.0 호환성에는 문제가 없는 버전이다.
- 방화벽 또는 네트워크 설정: 확인완료
- Redis 서버 삭제 및 재설치
- Cache-manager 없이 redis에 db를 저장했을땐 정상적으로 저장됌..
아무래도 cache-manager와 redis를 연결하는 부분이 잘못 된 것 같은데 정말 모르겠다..
✅오늘 알게된 점 및 추후 학습계획
좀 더 연구해서 반드시 원인을 찾아낼 예정이다.
반응형
'개발 > 프로젝트-식당 웨이팅 앱 FOOD LINE' 카테고리의 다른 글
230613 실전프로젝트13 [GPS 기반 데이터 조회 속도개선!★] (0) | 2023.06.14 |
---|---|
230612 실전프로젝트12 [Node.js/Nest.js_redis 적용하기4] (0) | 2023.06.12 |
230609 실전프로젝트10 [Node.js/Nest.js_redis 적용하기2] (1) | 2023.06.09 |
230607 실전프로젝트9 [Node.js/Nest.js_redis 적용하기] (0) | 2023.06.05 |
230603 실전프로젝트8 [Node.js/Nest.js_sort별 목록조회 api 보완] (0) | 2023.06.05 |