Li este artigo: http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/ desde quando eu quero obter o melhor mecanismo de cache disponível para que meu aplicativo seja realmente rápido. É claro que não quero armazenar em cache em excesso, mas quero pelo menos escolher a melhor coisa disponível. Nesse artigo, ele diz que o Memcached é lento e o apc é rápido. Por que todos estão escolhendo o memcached ?
http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels aqui diz "use um rápido (mas limitado) como Apc, Memcache ... e um "lento" como File, Sqlite ... "você acha que usar o Apc como o rápido e o Memcache como o lento é uma boa idéia?
apc_store
. O cache do Opcode sozinho torna o PHP algumas vezes mais rápido.apc_store()
é apenas um bônus extra.Respostas:
Memcached é um sistema de cache distribuído, enquanto o APC não é distribuído - e principalmente um cache de código de operação.
Se (e somente se) você tiver um aplicativo Web que precise residir em diferentes servidores Web (balanceamento de carga), precisará usar o memcache para o cache distribuído. Caso contrário, atenha-se à APC e seu cache.
Você sempre deve usar um cache de opcode, que é o APC (também o APC será integrado ao php6 iirc, por que não começar a usá-lo agora).
Você pode / deve usar os dois para fins diferentes.
fonte
opcode
cache?opcode
cache é aquele que compila o código PHP simples no código da máquina ("opcode") e o armazena no formulário compilado para solicitações futuras (até detectar o arquivo PHP original alterado). Isso significa que o PHP não precisa executar esta etapa de compilação em cada solicitação, economizando tempo. É apenas uma das maneiras de ajudar a garantir um site rápido (entre muitos outros).Memcached, se você precisar preservar o estado em vários servidores Web (se você tiver equilíbrio de carga e for importante que o conteúdo do cache seja o mesmo para todos os servidores).
APC se você precisar apenas de acesso à memória rápida para ler (e gravar) em um servidor (ou em cada).
Lembre-se de que a APC também pode compilar e acelerar o tempo de execução do script. Portanto, você pode, por exemplo, usar o APC para aumentar o desempenho da execução, enquanto usa o memcached para armazenamento em cache.
fonte
O principal avanço da APC é o cache do código de operação. Como o PHP 5.5 integrou o OpCache em seu núcleo e o APC para PHP 5.4 ainda está marcado como beta, não é um comunicado oficial, mas o desenvolvimento do APC seria descartado no futuro próximo.
Então, eu recomendo que você escolha o Memcached.
fonte
Eu uso um para velocidade e outro para sincronizar todos os meus servidores. Se você usa o memcache, lembre-se das portas abertas que você precisará bloquear com o iptables.
fonte
Olá Thomaschaaf, espero que não seja uma ferramenta atrasada para você, mas observe que a APC tem alguns problemas relacionados ao "cache do usuário". Para resumir uma longa história, quando você define tempos limite para entradas de cache ou se seu apache trava dentro do código interno da APC (tempo limite, por exemplo), você pode sofrer alguns problemas.
Tenho uma entrada sobre o problema aqui: http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html , e você também deve ler http: //t3.dotgnu. info / blog / php / user-cache-timebomb.html (de um dos desenvolvedores da APC, eu acho)
fonte
Eu uso apenas o APC, pois o APC é um cache de código e atua como memcache! Apenas 1 arquivo de configuração em vez de 2.
E apenas um lugar para monitorar os dois cache .....
fonte
Depende do que você está fazendo, mas para meus sites drupal rodando em um VPS, acho que a APC funciona muito bem! Se você estiver executando o CentOS 6, ele estará disponível como uma atualização do yum, simples de instalar e sem configuração, pois os padrões são razoáveis. Um imho acéfalo.
fonte