No desenvolvimento de sistemas em larga escala, o cache é sem dúvida crucial. No mundo PHP, embora não haja tantas soluções de cache para escolher como em Java, ainda existem algumas soluções maduras, com a "programação PHP avançada" aprendi o seguinte:
1. Otimização no nível da linguagem: PHP possui muitas APIs no nível do mecanismo. Por meio dessas APIs, o comportamento da execução do mecanismo pode ser alterado para atingir o objetivo de otimizar a operação. Entre eles, o que mais vale a pena fazer é armazenar em cache os resultados da compilação. Como todos sabemos, toda vez que o PHP é executado, ele precisa passar pelo processo de código-fonte -> compilação -> código intermediário -> execução do mecanismo. Para alguns aplicativos grandes, uma quantidade considerável de tempo é gasta em compilação inútil (não). apenas o PHP que acessa a página) Os arquivos precisam passar pelo processo de compilação. Quando require() e include() são usados no script, alguns arquivos incluídos precisam ser compilados). Ao armazenar em cache os resultados da compilação, o desempenho do sistema pode ser bastante melhorado (proporcional à complexidade e escala do sistema).
As três principais ferramentas no mundo PHP que podem implementar o cache de compilação são:
O Zend Accelerator — Um cache de compilador comercial, de código fechado e com custo, produzido pela Zend Industries
O ionCube Accelerator — Um cache de compilador comercial, de código fechado, mas gratuito, escrito por Nick Lindridge e distribuído por sua empresa, ionCube
APC — Um cache de compilador gratuito e de código aberto escrito por Daniel Cowgill e George Schlossnagle
Método de instalação APC, APC está incluído no PECL, a instalação específica é a seguinte 190-823 190-802:
Depois deexecutar o comando
#pear install apc
, em php.ini Adicione:
extension = /path/to/apc.so
ao arquivo. Desta forma, a instalação será concluída na próxima vez que o php for executado, o APC será ativado automaticamente e os resultados da compilação serão armazenados em cache no compartilhamento. memória. Na próxima vez que for executado, obtenha os resultados da edição diretamente da memória e execute-os sem compilar novamente.
Pergunta: A APC pode recompilar automaticamente o PHP que foi alterado desde a última compilação?
2. Otimização de código PHP: Use algumas ferramentas para gerar código intermediário de alta qualidade após a compilação. Os detalhes são os seguintes:
O Zend Optimizer é um otimizador de código fechado, mas disponível gratuitamente.
O acelerador ionCube contém um otimizador integrado.
otimizador de prova de conceito em PEAR
As principais funções do otimizador:
1. Remover código inútil, como código morto que nunca será executado.
2. Cálculo de constantes, por exemplo, alterando $seconds_in_day = 24*60*60 diretamente para $seconds_in_day = 86400
3. Outras funções de otimização de código, como esta instrução:
$count++
serão otimizadas para ++$count; execução mais rápida. Claro, se a instrução for $i = $count++;