질문/조언질답게시판

{@ $oNcenterliteModel = getModel('ncenterlite'); $ncenterCount = $oNcenterliteModel->getMyNotifyList()->total_count } 

 

위와 같은 방식으로 모듈을 통해 데이터를 가져오게 작성해 놓았다면 반복해서 요청할때 모듈에서 캐시된 데이터로 반환하나요? 아니면 그냥 매번 db에서 조회해서 출력해주나요?

 

저런 코드를 레이아웃 등에 넣어 놓고 수시로 확인하는 용도로 사용하는 경우인데요. 

갑자가 궁금증이 생겨서요. 

 

db를 직접 조회하는 방식보다는 위와 같이 모듈을 통하는게 좋다고 들은거 같아서요.

 

혹시 모듈이 얘가 방금 가져가놓고 또 달라고 그래 ? 그러면서 db를 조회하지 않고 방금 조회해서 가지고 있던 것을 출력하는지 혹은 모듈단위가 아니더라도 php에서 그렇게 처리를 하는지 궁금합니다.

  • profile
    getMyNotifyList을 호출시키면 내 알림목록을 보지 않는이상 전체적으로 모두 캐시데이터를 가져옵니다. (최근5개..)
  • profile profile
    위에처럼 전체숫자를 가져오면 캐시가 아닌 조회해서 가져오나요?
  • profile profile
    모든데이터를 PHP파일형태로 저장하기 때문에 문제 없이 가져올 수 있습니다.
  • profile profile
    아.. 그럼 쓸데없이 매번 db를 귀찮게 하지 않는다는거군요.
  • profile profile
    네 기본 동작은 전부 캐시입니다.
  • profile profile
    👏👏👏👏👏
  • profile
    https://github.com/rhymix/rhymix/blob/master/modules/ncenterlite/ncenterlite.model.php#L236
  • profile
    https://github.com/xe-public/xe-module-ncenterlite/blob/develop/ncenterlite.model.php#L187
  • profile

    레이아웃등에서 직접 쿼리하는 방법 - 무조건 db 조회
    레이아웃등에서 모듈 함수 호출 - 모듈 설계 방식에따라 캐시 사용 또는 db 조회
    정도로 생각 하시면 될꺼 같네요. 모듈이라고 무조건 캐시를 사용하는것은 아니고 모듈 만들때 캐시 사용하도록 만들어야 합니다.

  • profile profile
    아... 모듈이 캐시사용 한다는 전제이긴 한데 알림센터 가 캐시 사용을 하는거 같아서요.
  • profile profile
    모든모듈이 캐시를 사용하지 않습니다.