J'ai un site web assez basique, écrit en php pur, sans framework, fonctionnant dans un environnement LAMP de base.Comment mieux mettre en cache toute la sortie HTML sur le serveur
Le site génère dynamiquement un balisage basé sur l'en-tête HTTP User Agent et certains paramètres de chaîne de requête. Par exemple "itemdetail.php" inspecterait le paramètre "itemid" de la chaîne de requête et l'en-tête de l'agent utilisateur et produirait un balisage.
Je souhaite mettre en cache ce balisage, de sorte que la prochaine fois qu'un périphérique avec le même User Agent et itemid dans la chaîne de requête tente de demander la page, il vide simplement le balisage présent dans son cache. Je réalise que je pourrais le faire manuellement en php en utilisant memcache, et écris juste du code en haut de la page pour inspecter les params pertinents, et soit essayer de memcached ou rendre la page et stocker le balisage dans memcached, mais je pensais qu'il pourrait être possible d'éviter la couche de PHP tout à fait, en utilisant quelque chose comme ce qui est décrit ici http://httpd.apache.org/docs/2.2/caching.html
Alors, ma question, que je me rends compte peut-être vague et ce post va se tuer est:
Quelle est la mise en œuvre de mise en cache recommandée ici? Est-ce bien d'utiliser memcache au niveau php, ou les modules apache sont-ils suffisants pour répondre à mes besoins?
Eh bien, la chose User-Agent est bien ancrée dans la fonctionnalité. Il s'agit d'un site de vente de contenu pour les appareils mobiles, de sorte que différents appareils obtiennent un contenu différent. Avec votre solution, comment allez-vous effacer le cache? Un cron pour vider le dossier cache, ou autre chose? – BoomShaka
vous pouvez écrire un cron qui vérifie simplement tous les temps de création des fichiers de cache (en utilisant scandri() et filemtime(), par exemple) et supprimez-le s'il est trop ancien. Vous pouvez également le faire avant de répercuter le contenu de la mémoire cache, mais vous devez ensuite créer un surcoût supplémentaire en vérifiant l'horodatage du fichier. – Pinoniq