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이 (확인 스레드를 업데이트 될 때마다 관찰의 일종을 사용하여 해당를 차지한다 또한 당신을 생각하면, 마지막으로 수정 한 키 또는 다른 것을 업데이트하는 메서드 설정)
- 1. 이것은 올바른 방법입니까?
- 2. 이것은 hcf를 찾는 좋은 방법입니까?
- 3. 이것은 어떤 암호 해독 방법입니까?
- 4. 이 기능은 'remember me'기능을 구현하는 합리적인 방법입니까?
- 5. 이것은 3 진 연산자의 합리적인 사용입니까?
- 6. 이것은 MINA에 ProtocolDecoder를 작성하는 올바른 방법입니까?
- 7. 이것은 java에서 MVC를 사용하는 올바른 방법입니까?
- 8. 이것은 리소스를 관리하는 데 적합한 방법입니까?
- 9. 이것은 [ThreadStatic]을 초기화하는 스레드로부터 안전한 방법입니까?
- 10. 이것은 Python 예외를 정의하고 사용하는 적절한 방법입니까?
- 11. 이것은 방법을 재사용/공유하는 좋은 방법입니까?
- 12. 이것은 두 명의 arraylists의 차이를 얻는 좋은 방법입니까?
- 13. 이것은 불순한 가상 함수를 구현하는 합법적 인 방법입니까?
- 14. 이것은 KVO와 호환되는 mutable to-many 관계를 모델링하는 좋은 방법입니까?
- 15. 이것은 파이썬에서 시그 모이 드 함수의 파생어를 찾는 올바른 방법입니까?
- 16. 은 합리적인 수의 하위보기가 있습니까?
- 17. "합리적인"쿼리 만 사용
- 18. 이것은 무엇을합니까?
- 19. 트리와 사전의 합리적인 크기
- 20. XForms와 JSF는 합리적인 해결책입니까?
- 21. 캐싱 대리인
- 22. 이미지를 미리로드하는 것이 올바른 방법입니까?
- 23. C# : ASP.NET 프로젝트에서 적절한 확장 방법입니까?
- 24. 합리적인 길이는 사용자의 위치 아이폰
- 25. C#에서 스레딩의 합리적인 사용?
- 26. 합리적인 언어로 작성된 UNIX 쉘?
- 27. 일정에 합리적인 성능 테스터 실행
- 28. Android : 3G에서 합리적인 업로드 속도
- 29. 합리적인 줌 레벨 MapKit에 대한
- 30. 캐싱
PNG를 너무 길게 렌더링하는 데 2 초가 걸리는 이유는 무엇입니까? – staticsan
페이지에 여러 개가 있으면로드하는 데 오래 걸릴 수 있습니다. – GameFreak
@staticsan : ... * * *? 2 초 전체가 너무 길지 않아? –