Finalmente consegui resolver o problema de cache do And After, criei um sistema de cache que cacheia partes das páginas dos posts. Como o tutorial de como instalar o NodeJS foi bastante útil para meus colegas aqui no iG, resolvi compartilhar o processo de instalação e configuração do memcached no servidor (Apache rodando no Ubuntu).
Atenção: o PHP tem duas bibliotecas para trabalhar com memcache: memcache e memcached (veja a diferença entre as duas aqui), este tutorial se refere ao memcached apenas.
Instalação dos pacotes necessários
No terminal digite os comandos abaixo para instalar o Memcached e o módulo do PHP para se comunicar com o sistema de cache.
apt-get install php5-dev memcached php-pear php5-memcache
É necessário o php5-dev para execução do comando abaixo, que utiliza PECL (repositório de extensões para o PHP), eu não consegui instalar sem o pacote do php5-dev por isso adicionei ele na lista.
Será necessário fazer o build em um dos pacotes, portanto você precisará ter o pacote abaixo (provavelmente você já tenha ele instalado):
sudo apt-get install build-essential
Agora que você já tem todos os pacotes necessários, vamos para a instalação!
Instação do libmemcached
O memcached no PHP tem uma dependência da libmemcached, então precisaremos fazer o build dessa lib que não está no repositório do Ubuntu. No site oficial do memcached baixe a versão que você deseja instalar.
Copie a url e por terminal faça o download (troque a url pela versão que deseja baixar, recomendo a última):
wget http://download.tangent.org/libmemcached-0.37.tar.gz
Descompacte o arquivo que você acabou de baixar (troque o nome do arquivo pela versão que você baixou):
tar -xzf libmemcached-0.37.tar.gz
Acesse a pasta do arquivo descompactado, configure e execute o make e o make install para concluir a instalação da libmemcached. Provavelmente será necessário executar o comando make install com permissão root.
cd libmemcached-0.37
./configure
make
sudo make install
Após executar os comandos acima (eles podem levar um tempinho cada um) a dependência (libnmemcached) deve estar instalada no seu computador, agora é instalar o memcached com o pecl:
pecl install memcached
O pecl não manipula o php.ini para executar a extensão, então você precisa adicionar a linha abaixo ao seu php.ini para que a extensão nova extensão seja carregada.
extension=memcache.so
No Ubuntu o php.ini normalmente fica em /etc/php/apache2/php.ini, se você não sabe onde fica o php.ini no seu Ubuntu pode utilizar o comando abaixo para localizar o arquivo:
find / -name php.ini
Agora é só reinicar o seu Apache:
sudo service apache2 restart
Pronto, o memcached está instalado e pronto para usar no seu servidor, você está pronto para melhorar a performance das suas aplicações em PHP utilizando o memcache. 😀
Dúvidas, críticas e sugestões nos comentários.
Referências