Prefácio:
Durante o desenvolvimento do MooPHP, a fim de encontrar um método de cache mais eficiente, foram testados os dois métodos de cache mais comumente usados.
Métodos comuns de cache em PHP:
A primeira é processar os dados que precisam ser armazenados em cache e formar um arquivo que pode ser executado diretamente pelo PHP. Quando você precisar armazenar dados em cache, introduza-os por meio de inclusão e use-os.
Segundo, serialize os dados necessários por meio da função serialize e salve-os diretamente no arquivo. Quando precisar usar dados armazenados em cache, leia o conteúdo do arquivo por meio da desserialização e copie-o para as variáveis necessárias e, em seguida, use-o.
Resultados do teste:
Por meio de testes, descobrimos que a segunda forma de armazenar dados em cache via serialização é mais eficiente. (Os dados são omitidos e o endereço do artigo é fornecido para download no final, para que você mesmo possa testá-lo)
Análise do motivo:
Ao ler o cache no modo include, o PHP precisa realizar diversos processos
1. Leia o arquivo
2. Analise os arquivos incluídos
3. Execução, ao atribuir um valor a uma variável
e ler o cache usando serialize:
1.Leia os dados
2. Desserializar o conteúdo dos dados
3. Atribuir valores às variáveis
. A partir da comparação acima, pode ser que o tempo necessário para analisar o array no arquivo PHP exceda o tempo necessário para desserializar o array. Se você estiver interessado, você pode conferir "Pesquisa sobre eficiência de desempenho de funções relacionadas ao sistema de arquivos PHP e incluir require": http://www.ccvita.com/163.html
Código do arquivo de teste:
Endereço para download: MooPHP-CacheTest.zip
Endereço original: http://www.ccvita.com/311.html Novos resultados de pesquisa serão atualizados aqui.
CacheTest_IncludeFile.php
de CacheTest_SerializeFile.php
:
A primeira, a vantagem de incluir cache: aumenta a confidencialidade e segurança dos dados, e o conteúdo armazenado em cache não será descoberto pelo mundo exterior.
Desvantagens: Relativamente lento.
Objetivo: Salvar dados que são proibidos de serem conhecidos fora do sistema, como configurações do sistema web ou mesmo informações do MySQL. Em segundo lugar, a vantagem do método serializar cache é que ele é mais rápido.
Desvantagens: Se o caminho do arquivo do sistema de cache for exposto, o conteúdo do cache vazará.
Objetivo: Este método pode ser usado ao armazenar em cache os artigos mais recentes, artigos relacionados, etc., quando você não se preocupa com dados obtidos externamente.
Observação:
Quando caches de memória PHP como ea e apc são instalados, o primeiro método de leitura do cache por meio de inclusão será mais rápido que o segundo método de serialização do cache. Portanto, na estrutura MooPHP, armazenamos em cache informações não confidenciais na segunda maneira; as informações confidenciais são armazenadas em cache na primeira maneira; Para uma introdução ao MooPHP, consulte o artigo "Introdução ao MooPHP Framework" (Endereço: http://www.ccvita.com/295.html )