안녕하세요~

예전부터 궁금한 게 있어서요

 

글쓰기를 통해서 문서를 업데이트 하면 해당 문서의 캐시가 갱신되는 줄은 알고 있습니다만,

글쓰기 작업을 통하지 않고 db를 직접 수정할 경우에는 어떻게 캐시를 갱신해야 되는지 모르겠어요

 

document_srl를 변수로 하는 어떤 함수를 실행시켜야 되지 않을까 하는 막연한 추측만 있네요

 

슈퍼캐시를 통해서

$oModel = getModel('supercache');
$oModel->deleteFullPageCache(0,136663);

이런식으로 실행해보려고 해도 안되네요 

 

초보라 flow 따라가는 데에도 한계가 있어서 조언을 구하고자 합니다.

 

 

 

 

  • profile

    인용하신 소스는 슈퍼캐시 모듈의 전체화면 캐시를 지우는 기능이고요, 코어 내부적으로 사용하는 문서 캐시는 그것과 관계없습니다.

     

    글번호가 $document_srl 변수에 담겨 있다고 하면, 라이믹스 기준으로

        $cache_key = 'document_item:' . getNumberingPath($this->document_srl) . $this->document_srl;
        Rhymix\Framework\Cache::delete($cache_key);

    하시면 됩니다.

     

    아니면 그냥 DB작업 후 캐시파일 재생성을 클릭하셔도 되고요.

  • profile profile

    코드 부분이 제가 원하는 답변이었습니다.
    문제 잘 해결했어요~
    정말 감사드립니다. 기진곰님^^

  • profile profile
    그런데 이거 내부적인 디테일이라... cache key가 차기버전에서는 바뀔 수도 있어요.
    document도 member처럼 캐시 비우는 함수를 코어에서 따로 제공하는 것이 더 안정적이겠군요.
  • profile profile
    좋은 생각 같습니다~
    콘텐츠 활용 등으로 문서를 db에서 수정하게 되는 경우 특정 문서 1개만 캐시를 비워야 하는 일이 종종 생기더라고요