Heim  >  Artikel  >  Backend-Entwicklung  >  Wie implementiert man Seiten-Caching in PHP?

Wie implementiert man Seiten-Caching in PHP?

WBOY
WBOYOriginal
2023-06-21 08:06:352165Durchsuche

In der Webentwicklung ist Seiten-Caching eine wichtige Technologie, die die Website-Leistung und das Benutzererlebnis erheblich verbessern kann. In PHP gibt es viele Möglichkeiten, Seiten-Caching zu implementieren. Im Folgenden werden einige der häufigsten vorgestellt.

1. Verwenden Sie die Funktion ob_start()

Die Funktion ob_start() ist eine Funktion, die in PHP verwendet wird, um das Ausgabe-Caching zu aktivieren. Es speichert die Seitenausgabe im Speicher und gibt den zwischengespeicherten Inhalt dann am Ende der Anfrage an den Browser aus. Die Verwendung der Funktion ob_start() kann verhindern, dass der Ausgabeinhalt der Seite vorübergehend angezeigt wird, sondern ihn zunächst zwischenspeichern und dann ausgeben, wenn er später benötigt wird.

Die Implementierung ist wie folgt:

<?php
// 开启输出缓存
ob_start();

// 这里书写正常的PHP页面代码
echo 'Hello World!';

// 将缓存的内容输出到浏览器
ob_flush();
?>

Bei der Verwendung der ob_start()-Funktion müssen Sie besonders auf folgende Punkte achten:

  1. Die ob_start()-Funktion muss ganz am Anfang der Seite aufgerufen werden, andernfalls Es wird der Fehler „Header-Informationen können nicht geändert werden“ ausgegeben.
  2. Der Ausgabecache belegt den Speicher des Servers und die Cachegröße muss je nach Situation entsprechend eingestellt werden.
  3. Der Cache wird nicht sofort ausgegeben. Sie müssen die Funktion ob_flush() verwenden, um den Ausgabecache an den Browser auszugeben.

2. HTTP-Caching verwenden

HTTP-Caching ist eine Standardmethode zur Implementierung von Caching in Webdiensten. Es verwendet Cache-Control und Expires im HTTP-Header, um die Cache-Zeit und die Cache-Strategie zu steuern. Wenn die vom Server zurückgegebenen Seitendaten zwischengespeichert werden, liest der Client bei der nächsten Anforderung derselben Seite die Daten direkt aus dem lokalen Cache, ohne den Server erneut anfordern zu müssen, was die Zugriffsgeschwindigkeit der Seite erheblich verbessern kann .

In PHP kann HTTP-Caching erreicht werden, indem Cache-Control und Expires im Antwortheader festgelegt werden. Unter anderem kann Cache-Control das maximale Alter festlegen, das die effektive Zeit des Caches in Sekunden angibt. Expires legt die Cache-Ablaufzeit fest, bei der es sich um die GMT-Zeit eines bestimmten Datums handelt.

Implementierungsbeispiel:

<?php
// 设置缓存时间,如下设置了缓存10分钟
header('Cache-Control: max-age=600');

// 设置缓存过期时间,如下设置了缓存到2022年1月1日
header('Expires: Sun, 01 Jan 2022 00:00:00 GMT');

// 这里书写正常的PHP页面代码
echo 'Hello World!';
?>

Es ist zu beachten, dass beim HTTP-Caching der Backend-Server einen Antwortheader zurückgeben muss, bevor der Browser die Seite zwischenspeichern kann. Daher muss er in PHP-Dateien verwendet werden und kann nicht in HTML-Dateien verwendet werden.

3. Beim Datei-Caching wird die Seite in einer Festplattendatei auf dem Server zwischengespeichert. Wenn die Seite erneut angefordert wird, wird die Datei direkt ohne Analyse durch PHP gelesen, was die Zugriffsgeschwindigkeit der Seite verbessern kann . .

Die Implementierung ist wie folgt:

<?php
// 设置缓存文件名
$cacheFile = 'cache.html';
// 设置缓存时间,如下设置了缓存30分钟
$cacheTime = 1800;

// 如果缓存文件存在并且缓存未过期
if (file_exists($cacheFile) && (time() - filemtime($cacheFile) < $cacheTime)) {
    // 直接读取缓存文件内容
    echo file_get_contents($cacheFile);
    exit();
}

// 开启输出缓存
ob_start();

// 这里书写正常的PHP页面代码
echo 'Hello World!';

// 获取输出缓存并清空缓存
$content = ob_get_clean();

// 把输出缓存写入到缓存文件中
file_put_contents($cacheFile, $content);

// 输出内容到浏览器
echo $content;
?>

Im obigen Code stellen wir zunächst fest, ob die Cache-Datei vorhanden ist und ob der Cache abgelaufen ist. Wenn die Bedingungen erfüllt sind, wird der Inhalt der Cache-Datei direkt an den Browser ausgegeben. Wenn die Bedingungen nicht erfüllt sind, wird die Seite gemäß dem normalen PHP-Seitenprozess ausgegeben und der Inhalt des Ausgabecaches wird in die Cachedatei geschrieben.

Eine Sache, die besondere Aufmerksamkeit erfordert, ist, dass das Zwischenspeichern von Dateien Speicherplatz auf dem Server belegt. Sie müssen einen Cache-Gültigkeitszeitraum festlegen oder geplante Aufgaben verwenden, um abgelaufene Cache-Dateien regelmäßig zu bereinigen.

Zusammenfassend lässt sich sagen, dass es viele Möglichkeiten gibt, PHP-Seiten-Caching zu implementieren, und jede Methode hat ihre anwendbaren Szenarien, Vor- und Nachteile. In der tatsächlichen Entwicklung ist es notwendig, flexible Entscheidungen basierend auf den tatsächlichen Bedingungen zu treffen und die Caching-Technologie rational einzusetzen, um die Leistung der Website und das Benutzererlebnis zu verbessern.

Das obige ist der detaillierte Inhalt vonWie implementiert man Seiten-Caching in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn