node.js mongoDB 캐시 사용법


node.js + express + mongoDB로 구성해서 개발을 하고 있습니다. db를 불러와서 게시판처럼 구성할 일이 있는데 그렇게 자주 변동이 생기는 db가 아니다보니 페이지를 로딩할때마다 DB I/O를 하는것이 굉장히 비효율적으로 느껴집니다. DB에 변동이 있을때만 갱신을 하도록 nodejs 서버에서 DB캐시를 만들 방법이 있을까요?

  • 2016년 04월 12일에 작성됨

조회수 312


1 답변


좋아요
1
싫어요
채택취소하기

Memcached 나 Redis 같은 캐시 디비를 사용하시는건 어떨련지요?

로직단에서 데이터의 Create, Update 시에 캐시에 갱신해두고

불러올땐 캐시에 있다면 캐시 없다면 캐시에 넣어두고 불러오기로 하면 될것같아요

대략 의사코드(?) 로 작성하자면

if create or update // 기록시에
    db.save // 디비에 저장해두고
    cache.set(post, text) // 캐시에 기록

이제 메인에서 불러올때는

if cache.has(post) // 캐시에 데이터가 있다면
    return cache.get(post) // 기존 데이터 리턴

else //캐시에 데이터가 없다면?
    db.get // 디비에서 꺼내와서
    cache.set(post, text) // 캐시에 저장시킨다

    return post // 저장시키고 리턴

대략 이런식인것 같습니다

  • 2016년 04월 13일에 작성됨
    웹을 좋아함

  • 감사합니다! 한번 적용해보도록 하겠습니다    Snark   2016.4.14 10:04     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close