He presentado la instalación de pear antes. Hoy presentaré uno de los varios paquetes conocidos de pear. Si hay algo que no está claro, busque "tutorial de PEAR" en el sitio para obtener el tutorial anterior.
Lo que vamos a presentar hoy es el paquete Cache_Lite de PEAR. Los ojos de los desarrolladores web se abren cuando hablan de acelerar, al igual que los ojos de los hombres se abren cuando ven una belleza deslumbrante. Por lo tanto, lo primero que quiero presentar aquí es el paquete Cache_lite de PEAR. , puede utilizar este paquete para almacenar en caché cualquier parte de la página web según sus necesidades, mejorando así en gran medida la generación de páginas y la velocidad de carga.
Primero, vaya a la lista de paquetes de Pear para descargar el paquete de instalación de Cache_Lite. Al escribir este tutorial, la versión estable es 1.7.2, por lo que descargamos esta versión, la descomprimimos después de descargarla y luego colocamos el archivo en el directorio raíz de PEAR (. Más adelante se presentará cómo organizar el directorio de archivos), y luego vamos al capítulo correspondiente del manual para ver cómo usarlo. Primero puede echar un vistazo a la introducción sobre los paquetes. Aquí no hay juegos previos e iremos directamente al tema. El siguiente es un ejemplo de Cache_Lite::get(). Comencemos con este ejemplo. Agregué comentarios en chino al ejemplo.
require_once "Cache/Lite.php";//Esta es la dirección relativa a PEAR. Después de encontrar el archivo Lite.php en el paquete que acaba de descargar, ¡debe saber cómo implementar esta carpeta!
$opciones=matriz(
'cacheDir'=>'/tmp/',//Esta es la ruta del caché, es mejor usar una ruta absoluta, que se explicará en nuestro ejemplo
'lifeTime'=>7200, //Tiempo de caducidad de la caché en segundos
'pearErrorMode'=>CACHE_LITE_ERROR_DIE//Modo de informe de errores
);
$cache=newCache_Lite($options);//Crear un caché después de configurar los parámetros
if($data=$cache->get('id_of_the_page')){//Si el caché con id=id_of_the_page existe, haga eco directamente de los datos almacenados en caché
// ¡Golpe de caché!
// El contenido está en $data
// (...)
}else{//Si el caché no existe, genera un caché
// No se encontró ningún caché válido (debe crear y guardar la página)
// (...)
}
Después de leer el ejemplo anterior, ¿le parece muy sencillo? De hecho, la clave del almacenamiento en caché no es cómo generar y eliminar cachés, sino cómo equilibrar la relación entre los cachés estáticos y dinámicos, y cómo reconstruir el caché en el momento adecuado. ¡Permítanme comenzar con un ejemplo para que todos se den cuenta de los beneficios del almacenamiento en caché! , cree un caché de archivos en tutor (el directorio raíz correspondiente al ejemplo de nuestro tutorial). Para sistemas operativos *nix, establezca la propiedad en 0777, luego cree cache.php en la carpeta tutor, ingrese el siguiente código
<? PHP
require_once"config.php";
require_once"Caché/Lite.php";
// El siguiente código es para calcular el tiempo de ejecución de la página y no tiene nada que ver con el caché.
funciónget_microtime()
{
lista($usec,$sec)=explode(' ',microtime());
return((float)$usec+(float)$sec);
}
$s= get_microtime();
//Las siguientes son las configuraciones de caché
$opciones=matriz(
'cacheDir'=> WEB_DIR."/cache/",
//Vaya al tutor (el directorio raíz correspondiente a los ejemplos de nuestro tutorial)
//Crear caché de archivos,
//*sistema operativo nix, establezca el atributo en 0777
'lifeTime'=>10,//tiempo de vencimiento de 10 segundos
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite($opciones);
$cache_id='cache'; //la identificación debe ser única
// De lo contrario, entrará en conflicto con el caché de otras personas.
if($datos=$caché->get($cache_id)){
//los datos son el resultado de obtener datos, si el caché existe y no ha caducado,
//Obtener datos directamente
eco$datos;
}demás{
//De lo contrario creamos un caché
// A continuación utilizamos deliberadamente bucles para consumir tiempo
mientras($i<10000000)
$yo++;
$data='Hora de creación de caché:'.date("Ymd H:i:s");
$data.="<p>El tiempo de ejecución sin caché es: ".(get_microtime()-$s)."segundos";
eco$datos;
$caché->guardar($datos);
}
echo"<p>La página actual tarda: ".(get_microtime()-$s)."segundos</p>";
?>
Ejecute http://127.0.0.1/tutor/cache.php en el navegador y luego vea si se genera un archivo en el directorio de caché. Se siente muy satisfactorio, ¿verdad? !
En la página web, encontramos que el tiempo de primera ejecución tomó aproximadamente 1 segundo, y después de generar el caché, el tiempo fue solo 1/1000 del original. ¡Ya no necesito describir esta eficiencia! ! De hecho, el proceso general del ejemplo anterior es: 1. Establecer parámetros de caché, incluida la ID de la caché 2. Verificar si la caché existe en función de los parámetros y la ID. Si existe, los datos de la caché se obtienen en $data. de lo contrario, regenere el caché, guarde los resultados de la página en una variable y luego escriba los datos de la variable en el caché. Sin embargo, este método es muy inconveniente porque debemos escribir toda la salida en una variable, lo que en realidad es más problemático. Requiere muchas conexiones de cadena y el código es difícil de mantener. Por supuesto, se recomienda un caché simple. Adopte este enfoque. Pero no se preocupe, el poderoso PEAR no tiene retraso mental, por lo que también proporciona otra forma, que en realidad es obtener el búfer y sacar las variables. Echemos un vistazo a este ejemplo simple. El capítulo del manual correspondiente está aquí. .
<?php
require_once"config.php";
require_once"Caché/Lite/Output.php";
// Tenga en cuenta que los archivos requeridos aquí son diferentes.
$opciones=matriz(
'cacheDir'=> WEB_DIR."/cache/",
'lifeTime'=>10,//tiempo de vencimiento de 10 segundos
'pearErrorMode'=>CACHE_LITE_ERROR_DIE
);
$cache=newCache_Lite_Output($opciones);
$cache_id='obcache';
si(!($cache->start($cache_id))){
// Si no existe, crea un caché. Si existe, el programa generará automáticamente el caché.
?>
Puedes hacer lo que quieras aquí,
Incluyendo la ejecución de php
¿No es muy conveniente que todas las consultas de bases de datos, incluidas las consultas de bases de datos, se puedan completar aquí siempre que PHP lo permita?
<?php
$cache->end();//No olvides esto,
//De lo contrario, la caché nunca se creará correctamente.
//Esta función sale del buffer de salida
}
?>
¿Ir a ver si hay otro archivo en el directorio de caché?
Con esto concluye la introducción al caché. Aquí hay algunas cosas a tener en cuenta:
1. La ID del caché debe ser única y se pueden integrar algunos parámetros.
2. Es mejor escribir una ruta absoluta para la ruta del caché del caché.
3. El enfoque de esta sección está en los comentarios. Lea atentamente los comentarios.
Además, a través de mi introducción, puede leer el manual correspondiente sobre cómo eliminar el caché. El ejemplo anterior es solo para inspirar a otros. Utilice el ejemplo anterior y continúe. La operación de caché no debería ser difícil.