인프런 커뮤니티 질문&답변

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

웹소켓 연동하기(socket.io, gateway)

redis 연결 질문 가능할까요?

작성

·

462

0

안녕하세요 강의 잘보고 있습니다. 저는 socket연결 + redis까지 활용해보고 싶어서 찾다가 공식문서에 보면 redis-adapter가 있어서
그걸 그대로 활용하려고 하는데요.
gateway 코드 작성은 문제가 없는데
제가 만들고 싶은 기능중에 하나가 client에서 특정 api로 요청을 보내면 현재 redis server에 저장되어있는 정보들을 모두 주는 것입니다. redis에는 key는 roomName, value는 해당 room에 있는 user들을 저장하려고 합니다.
그럼 이 기능은 웹소켓이 아닌 http를 사용해야하니 service 파일에 작성해야 할텐데 문제는 redis server로부터 key와 value들을 가져오려면 적절한 instance를 depdency injection해주어야하는데 뭘 해줘야하는지를 모르겠습니다..
혹시 도움을 주실 수 있을까요?
이해를 위해 그림 파일 첨부했습니다.

답변 2

0

IJILKJ님의 프로필 이미지
IJILKJ
질문자

흠.. 해당 문서를 보고 app.module.ts에 아래처럼 세팅을 했는데 오류가 뜨네요.. 
그리고 혹시 그럼 제로초님은 nest에 socket과 redis를 어떤식으로 연결해서 사용하시나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

https://github.com/skunight/nestjs-redis/issues/82

제 프로젝트에서는 redis를 쓰지 않아서 잘 모르겠습니다.

IJILKJ님의 프로필 이미지
IJILKJ
질문자

해당 이슈를 보니 현재 release되지 않아서 github에서 바로 다운받아서 쓰라고 나와있는데
그럼 npm uninstall nestjs-redis를 한 후에 
어떻게 다운받아야 package.json에 잘 다운받아지나요..?
npm으로만 다운받아서 쓰다가 이런상황이 처음이라서 잘 모르겠네요..

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

버전 자리에 깃헙 레포 주소 적으시면 됩니다

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

socket.io-redis는 socket.io용이라서 상관없고요. 

https://www.npmjs.com/package/nestjs-redis

를 써보세요. 문서에 설명 잘 나와있습니다.

IJILKJ님의 프로필 이미지
IJILKJ
질문자

답변 감사합니다. 그럼 현재 adapter 코드는 유지한채 해당 링크에 나와있는데로 
app.module.ts에 또 redis를 등록해주면 되는 것인가요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 그러셔도 되는데 커넥션이 두번 맺어지는 건 아닐지 걱정되기는 하네요.

IJILKJ님의 프로필 이미지
IJILKJ

작성한 질문수

질문하기