목차

캐쉬하기

DokuWiki는 분석(parse)된 파일들을 캐쉬(cache)로 저장함으로써 브라우징 속도를 높입니다.1). 만일 현재 캐쉬된 문서가 있다면 다시 데이타를 파싱하지 않고 캐쉬된 복사본을 대신 보여줍니다. 편집과 미리보기에서는 캐쉬되지 않은 문서를 사용합니다.

캐쉬 다시 생성

강제로 한 페이지를 다시 캐쉬하려면 URL인자로 purge를 추가하면 됩니다.

예:

http://www.example.com/namespace/page?purge=true

페이지 명령들을 포함해서, 모든 페이지를 다시 캐쉬하려면, touch2)명령어를 사용해 local 환경설정 파일 conf/local.php의 최종 수정시간을 바꾸면 됩니다.

강제로 xhtml페이지를 다시 캐쉬하려면, touch inc/parser/xhtml.php.

2단계 캐슁

DokuWiki는 페이지마다 2개의 캐쉬파일을 사용합니다. 이 것을 이해하려면 페이지가 XHTML로 변환되기 전에 중간 명령어(intermediate instruction)코드의 형태로 파싱된다는 것을 알아야합니다. DokuWiki는 이 중간 코드물과 변환된 XHTML 두가지 모두 캐쉬합니다.

위치

XHTML과 instruction 캐쉬는 data/cache/*6)에 위치합니다. .xhtml, .i로 끝나는 화일들과 아래의 파일들 역시 캐쉬 디렉토리에 저장됩니다:

확장 기능

플러그인PARSER_CACHE_USE 이벤트를 통해 캐쉬 사용에 영향을 줄 수 있습니다. 이 것은 특별한 페이지들에 의존적인 플러그인들이 그 의존성들을 검사하고 강제로 DokuWiki가 정상적으로 페이지가 보이지 않을 때 재처리하는 것을 허용합니다.

개발자 노트

지금까지 플러그인 개발자들은 단지 캐쉬 기능을 완전히 비활성하는 것만 가능했습니다. 캐쉬를 사용하지 않는 것은 discussioninclude같은 플러그인들에게 필요했습니다. 문법 플러그인의 새로운 기능을 사용하기 위해서:

캐슁 자체는 cache object7)에 의해 처리됩니다. 플러그인과 관련해 흥미로운 캐쉬오브젝트의 중요 부분은 다음과 같습니다:

보통 페이지 이름, HTTP_HOST, 서버 port번호에 의존적입니다. 플러그인들은 좀 더 복잡한 식별자를 생성할 수 있습니다. 예를 들어 inclue 플러그인은 포함된 페이지 이름들과 현 사용자가 이 페이지들에 읽기 권한을 가졌는지 여부를 사용하여 식별자를 만들어 냅니다.

캐쉬 성능 개선

이것은 꽤 다른 형태의 캐쉬를 요구합니다. - 단지 위키 페이지외에도 전체 페이지들이 캐쉬될 필요가 있을 때 유용합니다.
서버는 확실하게 페이지가 캐쉬로부터 가져올 수 있는지를 알아야합니다. 서버쪽에서 포함되지 않고서는 이 것을 수행할 어떤 방법도 없습니다. DokuWiki가 이 것을 효율적으로 처리하고 있습니다. 브라우저가 페이지를 요구하는 순간, DokuWiki는 캐쉬 복사본인 유효하지 검사합니다. 만일 복사복이 유효하다면 원본 대신 복사본을 보냅니다. — Christopher Smith 2006-09-26 00:35

번역

english version: dokuwiki-2006-11-06.

Add your email here if you created translated or modified whole or part of this page.

2) 비UNIX사용자들은 파일을 열고 나서 다시 저장합니다. – 파일 수정 시간을 바꾸기 위한 아이디어
3) conf/dokuwiki.phpconf/local.php
4) inc/parser/parser.phpinc/parser/handler.php
5) inc/parser/xhtmlinc/parser/metadata
6) * –단일문자로 이루어진 디렉토리 이름,
datasavedir옵션으로 변경
7) inc/cache.php