캐싱 간단한 질문입니다
234
작성한 질문수 13
캐싱이 매번 deserlizeUser로 데이터 조회하지 않도록 객체를 만들어 거기에 유저의 데이터를 저장해서 사용하는 걸로 보입니다.
그렇다면 단순히 유저의 id만 저장해야 하나요 아니면 팔로잉테이블, 좋아요 테이블 등 전부 가져와야 하는 건가요?
이렇게 간단하게 코드를 짜봤습니다.
cash객체를 선언하고 cash가 NULL이면
.then(user => done(null, user))
이 코드에서 user 데이터를 req.user에 저장하기에 그 아래에 바로
cash = req.user로 데이터를 집어 넣습니다
그다음 cash가 NULL이 아니면 cash를 done합니다
그러나
Cannot read properties of undefined (reading 'length')
이러한 오류가 발생하는데
오류가 난 코드는 이 코드 입니다.
실은 간단히 쳐본거라 접근방법이 틀린것 일수도 있지만 캐싱에 저장할 데이터가 너무 모호해서 질문 올립니다.
다른 스스로 해보기는 앞에서 한 작업에서 응용하는 거라 접근방법이 어느정도 다가오는데 캐싱하기는 제가 하는 접근이 맞는지 틀린지조차 애매합니다;;
답변 1
0
.then(cash => cash = req.user)
이게 잘못되었습니다. 여기 매개변수를 cash로 줘버리면 위에 let cash랑 다른 cash입니다.
그리고 req.user가 비동기로 생긴다면 req.user도 undefined입니다. cash에 user를 넣으세요.
참고로 캐쉬 스펠링은 cache입니다.
0
이렇게 주면
Cannot read properties of undefined (reading 'length')
똑같이 이런 에러가 뜹니다
user에 커서를 대보면 user의 이름을 찾지 못했다고 뜹니다
이렇게 해봐도 똑같은 에러가 발생합니다
이 user는 매개변수인가요? 찾은 User의 데이터 아닌가요?
사실 좀 이상한게 deserializeUser는 첫 로그인을 serialize로 받아서 세션을 저장해야만 호출되는것이 아닌가요? 왜 첫 화면부터 저렇게 에러가 뜨는지도 모르겠습니다
0
이렇게 바꿔서 해봤지만
Cannot read properties of undefined (reading 'length')
똑같은 에러가 나옵니다.
전 이 에러가 나오는 이유가 req.user를 저장하지 못해서 에러가 난 것이라고 판단했는데
왜 이런 에러가 나온것 일까요??
리눅스 노드 설치시 패키지
0
159
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
906
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2281
2
a[title] 질문드립니다
0
375
1
리뉴얼 강의 및 공부 방법
0
581
1
jwt decode
0
1128
1
node.js 교과서 3판 질문드립니다
0
391
1
passport와 jwt
0
432
1
리뉴얼 강의
0
419
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
353
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
481
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
505
2
nunjucks res.render('error'); 작동을 안합니다.
0
511
1
질문있습니다.
0
346
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3535
1
수업자료는 어디있나요?
0
366
1
질문 있습니디
0
235
1
multer 사용시 file 외 name값은 못받나용?
0
416
1
코드 중복 부분 질문드립니다.
0
298
1
api 만드는 이유 질문드립니다.
0
287
1
Strategy의 done에 대해 질문드립니다.
0
364
1
안녕하세요 fs 권한 관련 질문드립니다
0
449
1
시퀄라이즈 연결질문...
0
496
2
res.setHeader vs res.cookie
0
1786
3





