Redis와 mongoDB 혼용 사용에 대한 질문입니다.

조회수 5351회

일단은 저는 node.js와 socke.io로 웹 메신저를 구현 중 입니다. 찾아보다보니 레디스도 몽고와 같이 NOSQL기반의 DB라고 알고있는데, 몽고와 같이 혼용해서 쓰는 경우도 있던데 이와 같은 경우는 무슨 이유에서 인가요? 제 생각으로는 레디스도 디스크에 저장은 하나 캐쉬에서 두고 쓰기때문에 접근속도가 빨라서인거 같은데.. 몽고에 저장을 시키면서 불러온걸 캐시에 두고 쓰기 위함인가요? 아니면 다른 이유가 있는것인지.. 또는 몽고나 레디스만 써도 되는것인지 궁급합니다!

2 답변

  • 좋아요

    3

    싫어요
    채택 취소하기

    레디스는 클러스터를 구성하지 않는다면 설치된 서버의 메모리가 용량 한계 입니다. 디스크에 쓰는 것은 재시작시 데이터를 다시 복구하기 위함입니다.

    몽고는 디스크 기반이라 용량 제한이 사실상 없습니다.

    보통 둘을 함게 사용할 때는 레디스를 캐시로 사용하는 경우가 많습니다. (생각하신 것 처럼)

    다른 경우라면 pub-sub을 레디스가 지원하기 때문에 커넥션을 유지하기 어려운 레일즈 등에서 보조로 사용하는 경우도 있습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • MongoDB는 데이터 저장을 위한것이고

    Redis는 데이터를 메모리에 넣고 빼는 캐시 서버입니다

    둘을 같이 사용하는 경우는 mongodb로는 데이터를 영원히 저장하고 Redis 서버 오버헤드를 줄이는겸 속도를 높이려 메모리에 저장해두고 꺼내오는 개념입니다

    굳이 필요가 없다면 저장을 위한 MongoDB만 사용하셔도 되고

    사람도 많이 들어오고 속도가 좀 중요하사 싶으시면 Redis를 사용하셔서 사이트를 캐싱을 해주시면 됩니다

    • (•́ ✖ •̀)
      알 수 없는 사용자
    • 레디스는 인 메모리 데이터 저장소 입니다. 캐시 용도로 많이 사용되지만, 캐시서버만을 위해 만들어진 것은 아닙니다. 알 수 없는 사용자 2016.4.18 18:52

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

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

(ಠ_ಠ)
(ಠ‿ಠ)