1. 캐싱 원리:
IE: 리소스 파일을 로컬에 저장
똑똑함: 캐시를 서버에 저장
컴파일 < 캐시 < 정적
2. 캐싱 기술을 사용하는 이유
1. 웹사이트 접속 속도 향상
2. 웹 서버에 대한 부담을 줄입니다
3. 데이터베이스 서버에 대한 부담을 줄입니다
3. 캐시 설정
1. smarty에서는 주로 다음 코드 라인을 통해 캐시를 설정합니다.
l $smarty->setCacheDir($cache_dir)
캐시 디렉토리 설정
향후 생성되는 캐시 파일은 이 디렉토리에 자동으로 배치됩니다
l $smarty->caching=true
캐싱 메커니즘 활성화
캐싱 기술을 사용하는 한 표시 방법이 호출되기 전에 캐싱 메커니즘을 활성화해야 합니다(캐시를 지우려면 활성화하지 마세요).
l $smarty->cach_lifetime=3600
캐시 유효 기간(라이프 사이클) 설정,
기본값은 3600초(1시간)이며 적절하게 조정할 수 있습니다
2. 코드 부분:
프로그램 코드:
템플릿 코드:
위 프로그램을 실행한 후 현재 디렉터리에 두 개의 폴더가 자동으로 생성된 것을 확인했습니다.
여기서 template_c와 캐시는 각각 컴파일 및 캐시 디렉토리를 나타내며 자동으로 생성됩니다.
단, 자동 생성 기능에 너무 의존하지 않는 것이 좋습니다. 일부 운영체제에서는 기본적으로 생성 권한이 없기 때문에 실행하기 전에 이 두 디렉터리를 수동으로 생성하는 것이 좋습니다.
3. 두 파일의 차이점을 살펴보세요.
컴파일된 파일:
캐시 파일:
관찰 결과, 컴파일된 파일에서 매번 PHP 프로그램을 통해 템플릿 변수의 값을 동적으로 읽어오는 것을 발견했습니다
캐시 파일에는 이 두 변수의 값이 파일에 직접 기록됩니다
4. 캐싱은 템플릿을 캐싱하는 것을 말합니다
다른 PHP 프로그램을 만들고 이러한 프로그램이 위 템플릿을 다시 표시하도록 시도할 수 있으며 이러한 프로그램은 위 프로그램에서 생성된 캐시 파일만 직접 실행한다는 것을 알 수 있습니다
5. Smarty 캐시의 작동 원리:
6. 두 가지 관련 속성
$smarty->compile_check
기본값은 true입니다. 즉, 실행될 때마다 템플릿이 변경되었는지 확인하고 변경되면 다시 읽어서 컴파일된 파일과 캐시 파일을 생성합니다. 하지만 프로젝트가 온라인 상태가 된 후에는 기본적으로 템플릿이 자주 변경되거나 이동되지 않습니다. 매번 시스템 성능에 영향을 미칠 것으로 판단되므로 프로젝트가 온라인 상태가 된 후에는 이 옵션을 꺼두는 것이 좋습니다. 거짓으로).
$smarty->force_compile
기본값은 false입니다. 즉, 실행될 때마다 캐시가 만료되었는지 확인합니다. 만료되지 않은 경우 캐시 파일의 내용을 직접 사용합니다. 그러나 프로젝트가 개발될 때 캐싱은 프로그래머의 프로그램에 대한 가장 직접적인 판단과 최신 데이터 관찰에 영향을 미칩니다. 이 옵션을 true로 설정하는 것이 좋습니다. 즉, 실행될 때마다 컴파일된 파일과 캐시 파일이 다시 생성됩니다.
4. 캐시 확인
$smarty->isCached(“tpl.tpl”)
템플릿에 캐시된 파일이 있는지 확인
실용적 적용:
5. 캐시 지우기
예를 들어, 쇼핑몰 시스템에서 이 제품의 가격은 1000.00이고 현재 쇼핑몰에서는 30% 할인이 적용됩니다. 캐싱을 사용하는 경우 제품 가격은 여전히 원래 가격으로 유지됩니다. 이때 이전 캐시 파일을 삭제해야 합니다.
l $smarty->clearCache(“tpl.tpl”)
템플릿의 캐시 파일 지우기
l $smarty->clearAllCache()
모든 템플릿의 캐시 파일 지우기
상품정보가 변경될 경우 해당 상품의 캐시파일을 다시 생성해야 합니다
일반적으로 데이터를 수정하려면 캐시 파일을 재생성해야 합니다(원래 캐시 파일을 삭제해야 합니다).
이상으로 php-Smarty-caching 1(25) 관련 내용을 소개하였습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.