login
Inicia sessió

register
Registra't

El blog del Dani

Sistema casolà de caxé amb PHP

Amb PHP existeixen mecanismes millors, com APC, Memcache, etc... però aquest és molt més simple, i el que s'usa a flog.cat per fer caxé d'algunes coses com les últimes novetats de "flog.cat en directe" i reduir el temps de la càrrega de la pàgina inicial (per usuaris no loguejats).

Per solucions més complexes o pesades, cal implementar altres sistemes.

El següent sistema està basat en un arxiu i simplement gestiona l'escriptura en caxé, el control del flux del caxé, actualització i la lectura de caxé.

if($login) $cache=false;//els usuaris loguejats no tenen caxé xq la seva query està en funció de la sessió
else {
$cache=(
rand(0,2)>0); //agafa de caxé el 66% de vegades
}

if(!$cache) { //sense caxé - regenerar

if(!$login) ob_start(); //inicia el buffer d'output

if($login) $sql='SELECT ................ ';
else $sql='SELECT ................ ';
$query=query($sql);
while($row=mysql_fetch_assoc($query)) {
/* ..... imprimir html ..... */
}

if(!$login) file_put_contents('arxiu_caxe.ch',ob_get_flush()); //enviem a l'arxiu de caxé i imprimim alhora (get_flush)

}
else readfile('arxiu_caxe.ch'); //caxé - imprimir html caxejat de fitxer, sense més

?>

Comentaris (0)08-04-2011 21:32:32Programació

Escriu un nou comentari:

Comentari extern

Nom:


Registrar-me a flog.cat

Usuaris registrats

Usuari de flog.cat:

Contrasenya: