2009-07-17 6 views
2

J'ai lu quelques choses ici et là et à propos de PHP pouvant "mettre en cache" des choses. Je ne connais pas très bien le concept de la mise en cache d'un point de vue informatique. Comment cela fonctionne-t-il et où l'utiliserais-je sur un site web et/ou une application PHP?puis-je faire de la mise en cache avec php?

Merci!

Répondre

5

Vous pouvez mettre en cache:

  1. résultats de la requête
  2. La sortie HTML d'un script PHP/demande
  3. variables Cache
  4. pièces de cache d'une page.
  5. Cache le code lui-même (accélère les choses, pas besoin de faire de bytecode).

Chacun de ceux-ci est un sujet différent avec des méthodes différentes.

3

"Comment ce travail" >> bien, si elle est faite correctement

Comment utiliser le cache? Eh bien, il existe plusieurs types de solutions:

  • de mettre en cache des parties de pages Web (ou même des pages entières); vous pouvez jeter un oeil à PEAR Cache_Lite (il y a des choses comme ça dans probablement tous les frameworks existants, il y a Zend Framework, avec beaucoup de backends supportés)
  • des données de mise en cache (comme des objets, par exemple); vous pouvez mettre en cache des fichiers, à la RAM (avec APC par exemple), à ​​un serveur de mise en cache (comme memcached, par exemple)
    • que les données peuvent provenir de nombreuses sources; En général, ce sera la base de données, ou un appel à un webservice, ou des trucs comme ça
    • que les données seront généralement quelque chose: souvent utilisé, dur/long/coûteux pour obtenir
  • vous pouvez aussi (pas spécifique à PHP, cependant) utiliser un proxy inverse (comme varnish, par exemple) comme un frontend à votre serveur Web, pour mettre en cache les pages HTML entières

Le sujet est vraiment vaste: il y a presque un nombre infini de possibilités ... Mais une chose à retenir est: ne pas utiliser la mise en cache "juste pour utiliser la mise en cache": la mise en cache, comme toute autre chose, peut avoir des inconvénients; donc utilisez-le si/quand nécessaire ...

0

pas exactement sur php mais, se référant seulement à la mise en cache de la sortie html, il existe aussi des systèmes Templating comme smarty capable de mettre en cache . Je l'utilise et j'aime comment ça fonctionne.