A diferença entre APC, eAccelerator, XCache, memcached, Redis

Marketing na Internetuso humanoSite WordPress,FazerComércio eletrônicoPromoção na Web, para melhorar a velocidade do site, pode melhorar até certo pontoSEOefeito.

instaladoVestaCPpainel de controle etcLinuxApós o sistema, algumas extensões de cache podem ser selecionadas para melhorar a velocidade do PHP.

Folha de aceleração de extensão de cache CACHE 1

Muitas vezes são vistas estas extensões de cache:

  1. APC
  2. Acelerador eletrônico
  3. XCache
  4. memcached
  5. Redis

Qual a diferença entre eles?Qual é o papel?Como devemos escolher?

Chen WeiliangVou te dar a resposta neste artigo.

XNUMX. Cache PHP alternativo (cache APC)

Cache PHP alternativo (cache APC) Nº 2

Cache PHP alternativo (APC Cache) é uma ferramenta de cache de código aberto para PHP, usada para armazenar em cache o código intermediário PHP Opcode (arquivo objeto).

O cache do APC é dividido em 2 partes:

  1. cache do sistema
  2. Cache de dados do usuário

O cache do sistema é usado automaticamente:

  • Isso significa que a APC armazena em cache o resultado da compilação do código-fonte do arquivo PHP e, em seguida, invoca o carimbo de data/hora novamente.
  • Se não tiver expirado, execute-o com o código em cache.
  • O cache padrão é 3600 (uma hora).

Mas isso ainda desperdiça muito tempo de CPU.

Portanto, você pode definir o cache do sistema para nunca expirar no arquivo php.ini e definir o cache do sistema para nunca expirar (apc.ttl=0).

No entanto, fazer isso requer reiniciar o servidor web (por exemplo, apache) após alterar o código PHP.

Atualmente, o teste de desempenho da APC geralmente se refere ao cache dessa camada;

Literalmente, Alternative PHP Cache (APC Cache) também pode ser considerado como uma extensão de cache na memória,

É uma extensão de cache de banco de dados.

XNUMX. Acelerador eletrônico

eAccelerator é um acelerador PHP gratuito e de código aberto.

  • Otimização e cache de conteúdo dinâmico, que podem melhorar o desempenho do cache de scripts PHP.
  • Portanto, o script PHP pode ser mantido no estado compilado para reduzir o consumo de recursos do servidor.
  • Ele também otimiza scripts para melhorar a eficiência de execução, aumentando a eficiência do código PHP em 1-10 vezes.
  • O eAccelerator não suporta PHP5.5 ou posterior.

Conforme entendido no texto:eAccelerator é uma extensão de acelerador em PHP.

XNUMX. XCache

XCache é um buffer/otimizador de opcode de código aberto que melhora o desempenho do PHP no servidor.

  • Você pode evitar repetir o processo de compilação armazenando em cache os dados compilados do PHP na memória compartilhada
  • E você pode usar o buffer diretamente para compilar o código para melhorar a velocidade.
  • Normalmente, ele pode aumentar as taxas de geração de páginas em um fator de 2 a 5 e reduzir a carga do servidor.

Na realidade,XCache é uma extensão do acelerador PHP.

Quarto, memcached

O Memcached é um sistema de cache de objetos de memória distribuída de alto desempenho:

  • Usado em aplicativos da Web dinâmicos para reduzir a carga do banco de dados.
  • Ele reduz o número de leituras de banco de dados armazenando dados e objetos em cache na memória, fornecendo assim a velocidade de sites dinâmicos baseados em banco de dados.

Pode-se entender a partir do texto: expansão de cache de memória, mais usado para servidores de cluster, usado principalmente para cache distribuído.

O Memcached é considerado uma extensão de cache de banco de dados.

XNUMX. Redis

O Redis é um banco de dados de valor-chave de alto desempenho.

Redis 3º

  • O surgimento do redis compensou bastante a falta de armazenamento de keyalue, como o memcached.
  • Em alguns casos, pode complementar bancos de dados relacionais.
  • Em muitos casos, o Redis é frequentemente comparado ao memcached.

Muitas pessoas pensam que o Redis pode substituir completamente o memcached, porque o Redis tem tipos de dados mais ricos e o desempenho não está abaixo do memcached:

  • Redis tem memcached, mas não;
  • Memcached e redis têm ambos.

Até onde eu sei, o Weibo da Sina e outros produtos periféricos dependem do Redis, que pode ser visto como poderoso.

A diferença entre o cache do PHP e a extensão do cache do banco de dados

1) Extensão de cache do PHP:

  • eAccelerator, XCache são extensões de cache PHP.

2) Extensão de cache do banco de dados:

  • Redis, memcached, cache APC são extensões de cache de banco de dados.

(Geralmente duas pessoas só precisam instalar um deles, não seja ganancioso)

Após alguns testes, verificou-se que o cache de dados do Cache ultrapassou um determinado limite e o desempenho do APC não foi tão bom quanto o cache mcached.

Portanto, ao escolher uma extensão de cache, algumas pessoas escolherão uma combinação de xcache + memcached ou uma combinação de xcache + redis.

Se ocorrer um erro ao instalar várias extensões de cache ao mesmo tempo, é recomendável instalar apenas uma extensão de cache e desinstalar as outras.

Resumo de comparação do acelerador PHP

  • Por meio de testes, o eAccelerator é a melhor combinação de tempo de solicitação e uso de memória, mas o eAccelerator não suporta PHP 5.5 ou posterior.
  • Através do teste, a velocidade com o acelerador é 3 vezes mais rápida do que sem o acelerador.

O acima éAPC, eAccelerator, XCache, memcached, Redispapéis e diferenças entre eles.

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

Voltar ao Topo