>백엔드 개발 >PHP 문제 >PHP 페이지에 캐시를 설정하는 방법(세 가지 방법)

PHP 페이지에 캐시를 설정하는 방법(세 가지 방법)

PHPz
PHPz원래의
2023-04-11 10:41:422196검색

웹 개발에서 캐싱은 매우 중요한 개념입니다. 이는 성능 문제를 해결하고 서버 리소스에 대한 수요를 줄이는 방법을 제공합니다. PHP는 널리 사용되는 웹 언어이며, 물론 캐싱도 설정할 수 있습니다. 이 기사에서는 PHP 페이지에서 캐싱을 설정하는 방법을 소개합니다.

1. 캐시란 무엇인가요?

캐시는 컴퓨터 분야에서 매우 일반적인 용어입니다. 자주 사용하는 데이터나 프로그램을 사용자 가까이에 저장해 접근 속도를 높이는 것이 핵심이다.

웹 개발에서 캐싱은 일반적으로 처리된 페이지나 파일을 웹 서버의 메모리에 저장하여 후속 액세스 시 처리 시간을 줄이는 것을 의미합니다.

2. 캐싱을 사용하는 이유

웹 개발에서는 일반적으로 페이지 생성에 많은 시간이 걸립니다. 방문 횟수가 증가하면 웹 서버의 부하도 증가합니다. 각 페이지 요청에 완전한 처리가 필요한 경우 서버의 응답 시간이 매우 느려질 수 있습니다. 따라서 자주 요청되는 페이지의 경우 해당 페이지를 메모리에 캐시하도록 선택할 수 있으며, 이는 웹 서버의 로드를 줄이고 페이지 응답 속도를 향상시킬 수 있습니다.

3. 캐시 설정 방법

PHP에서는 HTTP 헤더를 설정하여 브라우저 캐시와 캐시 시간을 제어할 수 있습니다. 구체적인 구현은 다음과 같습니다.

  1. 페이지 만료 시간 설정

페이지의 내용이 곧 변경되지 않을 것이라는 것을 알고 있는 경우 만료 시간을 길게 설정하여 서버의 응답 시간을 줄일 수 있습니다.

// 设置缓存时间为1小时
$expires = 3600;
header("Pragma: public");
header("Cache-Control: max-age=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');

위 예시에서는 Cache-Control을 통해 캐시 시간을 설정했습니다. 여기서는 캐시 시간을 1시간으로 설정했습니다. Cache-Control 来设定缓存时间,这里我们将缓存时间设置为1小时。

  1. 设置页面被修改时间

如果我们知道一个页面可能在某个时间被修改,那么我们可以设置一个 Last-Modified 的标记来帮助浏览器判断该页面是否需要重新获取。如果今后访问时,服务器对页面进行了修改,那么该标记将同时计算。

// 读取文件修改时间并设置 Last-Modified 标记
$lastModifiedTime = filemtime($filePath);
$etag = md5_file($filePath);

header("Last-Modified: " . gmdate("D, d M Y H:i:s", $lastModifiedTime) . " GMT");
header("Etag: $etag");

在上述示例中,我们使用了 filemtime() 函数来获取文件的最后一次修改时间,并使用 md5_file()

    페이지가 수정된 시간 설정
    1. 페이지가 특정 시간에 수정될 수 있다는 것을 알고 있으면 마지막 수정을 설정할 수 있습니다. help 태그는 브라우저가 페이지를 다시 가져와야 하는지 여부를 결정합니다. 향후 방문 중에 서버가 페이지를 수정하는 경우 태그도 동시에 계산됩니다.
    // 增加版本号
    $version = 1;
    $url = "http://www.example.com/index.php?v=".$version;
    header("Location: ".$url);

    위의 예에서는 filemtime() 함수를 사용하여 파일의 마지막 수정 시간을 가져오고 md5_file() 함수를 사용하여 Etag 값을 가져왔습니다. 파일의.

    페이지 콘텐츠 변경 태그 설정

    브라우저 캐시 문제를 완화하기 위해 페이지 콘텐츠가 변경될 때 버전 번호나 기타 유사한 태그를 업데이트하고 브라우저가 페이지를 다시 읽도록 할 수 있습니다. 이러한 방식으로 페이지 내용이 변경되지 않은 경우에도 브라우저는 여전히 새 페이지를 얻을 수 있으므로 만료된 페이지 문제를 피할 수 있습니다.

    rrreee🎜위의 예에서는 페이지가 업데이트될 때 페이지를 다시 가져오도록 브라우저에 지시하기 위해 액세스된 URL에 버전 번호를 추가하고 브라우저를 해당 URL로 리디렉션합니다. 🎜🎜4. 요약🎜🎜웹 개발에서 캐싱은 페이지 응답 속도를 향상시키는 일반적인 방법입니다. PHP에서는 HTTP 헤더를 설정하여 페이지의 캐시 및 캐시 시간을 제어할 수 있습니다. 그러나 캐싱은 제대로 설정되지 않으면 일부 페이지가 업데이트되지 않는 등의 문제를 일으킬 수도 있습니다. 따라서 캐시를 사용할 때에는 캐시 시간 설정과 페이지의 콘텐츠 변경 표시의 정기적인 업데이트에 특별한 주의가 필요합니다. 🎜

위 내용은 PHP 페이지에 캐시를 설정하는 방법(세 가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.