Ik ga met Boland mee. Caching is een van de meest belangrijke dingen, bij een snelle website. Scheelt je ook een zooi load op de server.
Nu heb je alleen verschillende niveau's van cachen. DMBS-Website-Proxy (eventueel)-Client.
Het meeste load gaat zitten in database query's, zoals ook al gezegd is door
crisp. Om MySQL query's te optimaliseren kun je
EXPLAIN statement gebruiken, om trage stukken uit je query te herkennen. Met vele DBMSen kun je ook je query's cachen. Stored Procedures worden geloof ik gecached. Ook parametrized query's worden gecached. Als je die dingen op de goede manier gaat gebruiken, scheelt het je al een hoop load en snelheid aan de DBMS kant.
Nu kun je met PHP ook al dingen doen om je data te cachen. Probeer bijvoorbeeld een systeem te maken dat bijvoorbeeld de data van de DB cached in het geheugen van de server. Dit kan je een hoop nutteloze database calls schelen. Bijvoorbeeld hier op tweakers.net. De frontpage wordt hier gecached. Er wordt zelfs een statische pagina van gemaakt, om de zoveel tijd (tenminste heb ik me laten vertellen). Nu kun je verschillende delen, die weinig veranderingen ondergaan, van je site cachen.
Nu zou ik, net zoals crisp ook al zei, niet je PHP code gaan optimaliseren en zo leesbaarheid inleveren. Dit verschil is te weinig om echt wat uit te maken.
Nu kun je ook wel redelijk wat met HTTP headers doen, om te zorgen dat de browser en eventuele proxy's ook dingen gaan cachen van je site. Lees
Caching Tutorial for Web Authors and Webmasters voor meer informatie hierover.
Ook kun je met manier van implementatie al zorgen dat dingen worden gecached. Als je bijvoorbeeld Javascript gebruikt en die gebruik je in meerdere pagina's, stop het in een .JS bestand. Deze bestanden worden namelijk ook gecached. Je CSS bijvoorbeeld, stop die ook in een extern bestand. Dit bevorderd ook de onderhoudbaarheid, maar ook de load op de server.
Nu heb je ook nog die compressie/encryptie programma's die je HTML,JS,CSS bestanden kleiner maken. Dit kan ook wel helpen, maar ik vind ze maar bout. Naar mijn idee helpen die dingen ook vrij weinig, maar heb hier weinig ervaring mee, dus ook niet echt een goede kijk op wat betreft de serverload. Als iemand weet wat en hoe het scheelt op de serverload, aarzel dan niet om te antwoorden.
Nu is dat, tegenwoordig populaire,
AJAX ook een leuke middel om voor de gebruiker al in ieder geval je site sneller te laten lijken. Ik weet niet hoe je dit in combinatie met caching mooi kunt oplossing, gezien ik niet precies weet hoe browsers de boel cachen. Maar nu kun je met AJAX icm andere client-side scripting technieken veel doen in je webpagina, zonder dat je al te veel vraagt van de server. Als je het goed gebruikt, heb je haast niks geen postbacks met de server.