Maison > développement back-end > Problème PHP > Comment configurer le cache pour les pages php (trois méthodes)

Comment configurer le cache pour les pages php (trois méthodes)

PHPz
Libérer: 2023-04-11 11:44:25
original
2201 Les gens l'ont consulté

Dans le développement Web, la mise en cache est un concept extrêmement important. Il fournit un moyen de résoudre les problèmes de performances et de réduire la demande en ressources du serveur. PHP est un langage Web populaire et, bien sûr, il peut également configurer la mise en cache. Cet article explique comment configurer la mise en cache dans les pages PHP.

1. Qu'est-ce que le cache ?

Le cache est un terme très courant dans le domaine informatique. Son essence est de stocker les données ou programmes fréquemment utilisés à proximité des utilisateurs pour améliorer la vitesse d'accès.

Dans le développement Web, la mise en cache fait généralement référence au stockage d'une page ou d'un fichier traité dans la mémoire du serveur Web afin de réduire le temps de traitement lors des accès ultérieurs.

2. Pourquoi utiliser la mise en cache

Dans le développement Web, la génération de pages prend généralement beaucoup de temps. Lorsque le nombre de visites augmente, la charge sur le serveur Web augmente également. Si chaque requête de page nécessite un traitement complet, le temps de réponse du serveur risque de devenir très lent. Par conséquent, pour les pages fréquemment demandées, nous pouvons choisir de mettre ces pages en cache en mémoire, ce qui peut réduire la charge sur le serveur Web et améliorer la vitesse de réponse des pages.

3. Comment configurer le cache

En PHP, nous pouvons contrôler le cache du navigateur et la durée du cache en définissant les en-têtes HTTP. L'implémentation spécifique est la suivante :

  1. Définir le délai d'expiration de la page

Si nous savons que le contenu d'une page ne changera pas de sitôt, nous pouvons définir son délai d'expiration sur un délai long pour réduire le temps de réponse du serveur.

// 设置缓存时间为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');
Copier après la connexion

Dans l'exemple ci-dessus, nous définissons la durée du cache via Cache-Control. Ici, nous définissons la durée du cache sur 1 heure. 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");
Copier après la connexion

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

    Définir l'heure à laquelle la page a été modifiée
    1. Si nous savons qu'une page peut être modifiée à un certain moment, alors nous pouvons définir un Dernière modification balise pour aider Le navigateur détermine si la page doit être réacquise. Si le serveur modifie la page lors de visites ultérieures, le tag sera calculé en même temps.
    // 增加版本号
    $version = 1;
    $url = "http://www.example.com/index.php?v=".$version;
    header("Location: ".$url);
    Copier après la connexion

    Dans l'exemple ci-dessus, nous avons utilisé la fonction filemtime() pour obtenir l'heure de dernière modification du fichier, et la fonction md5_file() pour obtenir la valeur Etag du dossier.

    Définir la balise de changement du contenu de la page

    Afin d'atténuer les problèmes de cache du navigateur, nous pouvons mettre à jour un numéro de version ou d'autres balises similaires lorsque le contenu de la page change et laisser le navigateur relire la page. De cette façon, même si le contenu de la page n'a pas changé, le navigateur peut toujours obtenir la nouvelle page, évitant ainsi le problème des pages expirées.

    rrreee🎜Dans l'exemple ci-dessus, nous ajoutons un numéro de version à l'URL consultée et redirigeons le navigateur vers l'URL, indiquant ainsi au navigateur de récupérer la page lorsque la page est mise à jour. 🎜🎜4. Résumé🎜🎜Dans le développement Web, la mise en cache est une méthode courante pour améliorer la vitesse de réponse des pages. En PHP, nous pouvons contrôler le cache et la durée du cache de la page en définissant des en-têtes HTTP. Cependant, la mise en cache peut également causer des problèmes si elle n'est pas configurée correctement, par exemple en empêchant certaines pages de ne jamais être mises à jour. Par conséquent, lors de l’utilisation du cache, nous devons accorder une attention particulière aux paramètres de durée du cache et mettre régulièrement à jour la marque de modification du contenu de la page. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal