En el desarrollo de sistemas a gran escala, el caché es sin duda crucial. En el mundo PHP, aunque no hay tantas soluciones de caché para elegir como en Java, todavía hay algunas soluciones maduras. Aprendí lo siguiente de la "programación PHP avanzada":
1. Optimización a nivel de lenguaje: PHP tiene muchas API a nivel de motor. A través de estas API, se puede cambiar el comportamiento de ejecución del motor para lograr el propósito de optimizar la operación. Entre ellos, lo que más vale la pena es almacenar en caché los resultados de la compilación. Como todos sabemos, cada vez que se ejecuta PHP, es necesario pasar por el proceso de código fuente -> compilación -> código intermedio -> ejecución del motor. Para algunas aplicaciones grandes, se dedica una cantidad considerable de tiempo a compilaciones inútiles (no). solo el PHP que accede a la página) Los archivos deben pasar por el proceso de compilación. Cuando se utilizan require() e include() en el script, algunos archivos incluidos deben compilarse). Al almacenar en caché los resultados de la compilación, el rendimiento del sistema se puede mejorar enormemente (proporcionalmente a la complejidad y escala del sistema).
Las tres herramientas principales en el mundo PHP que pueden implementar el caché de compilación son:
Zend Accelerator: un compilador caché comercial, de código cerrado y económico producido por Zend Industries.
El acelerador ionCube: un compilador de caché comercial, de código cerrado pero gratuito, escrito por Nick Lindridge y distribuido por su empresa, ionCube.
APC: un compilador de caché gratuito y de código abierto escrito por Daniel Cowgill y George Schlossnagle
Método de instalación de APC, APC está incluido en PECL, la instalación específica es la siguiente 190-823 190-802:
Después deejecutar el comando
#pear install apc
, en php.ini Agregue:
extensión = /path/to/apc.so
al archivo. De esta manera, se completa la instalación. La próxima vez que ejecute php, APC se activará automáticamente y los resultados de la compilación se almacenarán en caché en el archivo compartido. memoria La próxima vez que se ejecute, obtenga los resultados de la edición directamente de la memoria y ejecútelos sin volver a compilar.
Pregunta: ¿Puede APC recompilar automáticamente PHP que haya cambiado desde la última compilación?
2. Optimización del código PHP: utilice algunas herramientas para generar código intermedio de alta calidad después de la compilación. Los detalles son los siguientes:
Zend Optimizer es un optimizador de código cerrado pero disponible gratuitamente.
El acelerador ionCube contiene un optimizador integrado.
Optimizador de prueba de concepto en PEAR
Las funciones principales del optimizador:
1. Eliminar código inútil, como código inactivo que nunca se ejecutará.
2. Cálculo de constantes, por ejemplo, cambiando $segundos_en_día = 24*60*60 directamente a $segundos_en_día = 86400;
3.
Otras funciones de optimización de código, como esta declaración:
$count++;
ejecución más rápida. Por supuesto, si la declaración es $i = $count++ no se realizará ninguna optimización;