node.js mongoDB 캐시 사용법

조회수 2283회

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

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 // 저장시키고 리턴
    
    

    대략 이런식인것 같습니다

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 감사합니다! 한번 적용해보도록 하겠습니다 Snark 2016.4.14 10:04

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)