Prefacio:
Durante el desarrollo de MooPHP, para encontrar un método de almacenamiento en caché más eficiente, se probaron los dos métodos de almacenamiento en caché más utilizados.
Métodos de almacenamiento en caché comunes en PHP:
El primero es procesar los datos que deben almacenarse en caché y formar un archivo que PHP pueda ejecutar directamente. Cuando necesite almacenar datos en caché, introdúzcalos a través de incluirlos y utilícelos.
En segundo lugar, serialice los datos requeridos a través de la función de serialización y guárdelos directamente en el archivo. Cuando necesite utilizar datos almacenados en caché, lea el contenido del archivo mediante deserialización, cópielo en las variables requeridas y luego utilícelo.
Resultados de la prueba:
A través de las pruebas, descubrimos que la segunda forma de almacenar datos en caché mediante serialización es más eficiente. (Se omiten los datos y la dirección del artículo se proporciona para descargar al final, para que pueda probarlo usted mismo)
Análisis de motivos:
Al leer el caché en modo de inclusión, PHP necesita realizar varios procesos
1. Leer el archivo
2. Analizar los archivos incluidos.
3. Ejecución, al asignar un valor a una variable
y leer el caché usando serializar:
1.Leer datos
2. Deserializar el contenido de los datos
3. Asigne valores a las variables
. Según la comparación anterior, es posible que el tiempo necesario para analizar la matriz en el archivo PHP exceda el tiempo necesario para deserializar la matriz. Si está interesado, puede consultar la "Investigación sobre la eficiencia del rendimiento de las funciones relacionadas con el sistema de archivos PHP e incluir require": http://www.ccvita.com/163.html
Código del archivo de prueba:
Dirección de descarga: MooPHP-CacheTest.zip
Dirección original: http://www.ccvita.com/311.html Los nuevos resultados de la investigación se actualizarán aquí.
CacheTest_IncludeFile.php
Análisis resumido
de CacheTest_SerializeFile.php
:
La primera, la ventaja de incluir el almacenamiento en caché: aumenta la confidencialidad y seguridad de los datos, y el contenido almacenado en caché no será descubierto por el mundo exterior.
Desventajas: Relativamente lento.
Propósito: Guardar datos cuyo conocimiento está prohibido fuera del sistema, como la configuración del sistema web o incluso información de MySQL. En segundo lugar, la ventaja del método de serialización de caché es que es más rápido.
Desventajas: si la ruta del archivo del sistema de caché está expuesta, el contenido del caché se filtrará.
Propósito: este método se puede utilizar para almacenar en caché los artículos más recientes, artículos relacionados, etc. cuando no se preocupa por los datos obtenidos externamente.
Observación:
Cuando se instalan cachés de memoria PHP como ea y apc, el primer método de leer el caché a través de include será más rápido que el segundo método de serializar el caché. Por lo tanto, en el marco de MooPHP, almacenamos en caché la información no confidencial de la segunda manera; Para obtener una introducción a MooPHP, consulte el artículo "Introducción al marco MooPHP" (Dirección: http://www.ccvita.com/295.html ).