PHP를 사용하여 LaTeX를 CMS의 일부로 png에 렌더링하는 경우 서버에 2 초 정도 걸리므로 간단한 캐싱 메커니즘이 필요합니다. 원시 TeX를 가져 와서 md5 함수를 통해 실행하면 현재 타임 스탬프와 함께 해시를 데이터베이스에 삽입하고 < 해시 > .png를 파일 이름으로 사용합니다. 이미지에 액세스 할 때마다 타임 스탬프가 업데이트됩니다.이것은 합리적인 캐싱 방법입니까?
답변
흠, 좋은 접근 방법이라고 생각합니다.하지만 해시하기 전에 LaTeX에서 추가 처리를하고 싶을 것입니다. 그렇지 않으면, 공백 (그리고 당신의 입력 방법에 따라 잠재적으로 주석 및 다른 것들)의 변화는 다른 해시를 초래할 것이다.
또한 타임 스탬프를 업데이트하는 목적은 무엇입니까? 오랫동안 액세스되지 않은 PNG를 제거하는 일괄 처리 방법의 일부로?
타임 스탬프 사용에 대한 나의 의도가 맞습니다. – GameFreak
이 시나리오에서는 디스크의 임시 디렉터리를 사용하는 것을 선호합니다. 요청에
:
if the file doesn't exist
render it to the file
fpassthru() the file from disk
캐시 재생성 제어를 위해 파일의 타임 스탬프를 사용할 수 있습니다. – sfossen
그들이 렌더링 된 한 이후의 변경 수 .PNG, 내가 .PNG이 (확인 스레드를 업데이트 될 때마다 관찰의 일종을 사용하여 해당를 차지한다 또한 당신을 생각하면, 마지막으로 수정 한 키 또는 다른 것을 업데이트하는 메서드 설정)
PNG를 너무 길게 렌더링하는 데 2 초가 걸리는 이유는 무엇입니까? – staticsan
페이지에 여러 개가 있으면로드하는 데 오래 걸릴 수 있습니다. – GameFreak
@staticsan : ... * * *? 2 초 전체가 너무 길지 않아? –