2010-03-02 4 views
6

Je cherche des conseils de tous ceux qui peuvent me parler de la mise en cache de page pour un site web ... Je travaille en php donc si quelqu'un peut m'expliquer comment effectuer la mise en cache en php.mise en cache de page en utilisant php

+0

S'il vous plaît voir http://stackoverflow.com/questions/2279316/beginner-data-caching-in-php – fire

Répondre

0

Voici un lien utile pour vous, concernant les bases de la mise en cache et comment l'appliquer avec php.

http://www.devshed.com/c/a/PHP/Output-Caching-with-PHP/

Gardez à l'esprit dans la plupart des cas la mise en cache correcte doit être antérieure (alias la demande n'atteint même pas le script php).

7

PHP offre une solution extrêmement simple à la mise en cache dynamique sous la forme d'un tampon de sortie. La page d'accueil du site (qui génère de loin le plus de trafic) est désormais diffusée à partir d'une copie mise en cache si elle a été mise en cache au cours des 5 dernières minutes.

<?php 

    $cachefile = "cache/".$reqfilename.".html"; 
    $cachetime = 5 * 60; // 5 minutes 

    // Serve from the cache if it is younger than $cachetime 
    if (file_exists($cachefile) && (time() - $cachetime 
    < filemtime($cachefile))) 
    { 
    include($cachefile); 
    echo "<!-- Cached ".date('jS F Y H:i', filemtime($cachefile))." 
    -->n"; 
    exit; 
    } 
    ob_start(); // start the output buffer 
?> 

.. Your usual PHP script and HTML here ... 

<?php 
    // open the cache file for writing 
    $fp = fopen($cachefile, 'w'); 

    // save the contents of output buffer to the file 
    fwrite($fp, ob_get_contents()); 

    // close the file 

    fclose($fp); 

    // Send the output to the browser 
    ob_end_flush(); 
?> 

C'est un type simple de cache,

vous pouvez le voir ici

http://www.theukwebdesigncompany.com/articles/php-caching.php

Vous pouvez utiliser Smarty technique de cache

http://www.nusphere.com/php/templates_smarty_caching.htm

1

Je m plutôt surpris que rien f les réponses semblent jusqu'ici avoir abordé la possibilité de mettre en cache n'importe où AUTRE que sur le serveur où PHP est en cours d'exécution.

HTTP offre de nombreuses fonctionnalités pour permettre aux proxies et aux navigateurs de réutiliser le contenu précédemment fourni sans avoir à se référer à l'origine. Tellement que je n'essaierais même pas d'y répondre dans un S.O. répondre.

Voir ce tutorial pour un bon introduction au sujet.

C.

Questions connexes