🎯Raio-X do Marketing Digital: Tendências, cenários e desafios 🚀

Conhecendo o Alternative PHP Cache (APC)

Publicado em 25/05/2016

Atualizado em 04/06/2024

O APC é um cache de opcode que pode aumentar exponencialmente o desempenho da sua aplicação.

Entendendo Opcode:

Quando realizada um requisição para um script php, o engine do PHP lê o script e compila em bytecode. O bytecode está em um nível intermediário entre a linguagem de máquina e o código-fonte. Ele não é um executável, porém pode ser interpretado por uma máquina virtual, tendo maior portabilidade, pois independe da arquitetura do ambiente. No PHP, o bytecode gerado é chamado de opcode. O APC guarda o cache em opcode, o qual é reutilizado nas requisições subsequentes, ou seja, ele busca um opcode, o qual está em nível intermediário e será retornado de forma mais rápida. Com isso, ele reduz o tempo de processamento e melhora o desempenho do site ou sistema significativamente.

Instalação:

Em distribuições como Ubuntu, você pode facilmente instalar o APC  com o comando abaixo:

sudo apt-get install php-apc

Após instalar, o APC virá com um script o apc.php, que pode ser utilizado para administração do cache através de uma interface gráfica. Para acessar este arquivo será solicitada uma senha a qual pode ser definida dentro do arquivo.

Cache de objetos com APC:

Com APC você pode ter cache de objetos de uma forma simples, por padrão as funções do APC já fazem serialização de objeto antes de inseri-lo no cache e desserialização na hora de obtê-lo do cache. Para Inserir, basta fazer o seguinte:

<?php

// classe para armazenar dados do usuario

class usuario {

      private $id;

      private $nome;

      private $email;

      private $telefone;



      public function setId($id) {

            $this->id = $id;

      }

      public function getId() {

            return $this->id;

      }



      public function setNome($nome) {

            $this->nome = $nome;

      }

      public function getNome() {

            return $this->nome;

      }



      public function setEmail($email) {

            $this->email = $email;

      }

      public function getEmail() {

            return $this->email;

      }

}



// verifica se objeto consta no cache

if ($usuario = apc_fetch('usuario')) {

      echo "Dados no Cache: ";

} else {

      // criar cache para objeto usuario

      $usuario = new Usuario();

      $usuario->setId(1);

      $usuario->setNome('Fernando');

      $usuario->setEmail('[email protected]');

            // adicionar objeto usuário no cache

      apc_add('usuario', $usuario);

}



echo "<pre>";

echo $usuario->getId() . PHP_EOL;

echo $usuario->getNome() . PHP_EOL;

echo $usuario->getEmail() . PHP_EOL;

echo "</pre>";



Para limpar o cache você pode utilizar:

apc_delete('nome_variável');

Para limpar todo o cache OPCode você pode utilizar:

apc_clear_cache();

Documentação:

A documentação pode ser encontrada diretamente no link http://php.net/manual/pt_BR/book.apc.php

Conclusão:

Tendo em vista que o cache fica dentro da memória RAM, você deve pesar a necessidade, o tamanho da aplicação e o que você tem de recursos disponíveis antes de utilizar este tipo de ferramenta, mas ao utilizar o conceito de cache de objetos de forma correta você obterá um crescimento de desempenho de forma exponencial. A ferramenta em si oferece várias funções que facilitam a criação e manipulação de cache, com isso aumentando a velocidade de produção ao utilizar o conceito.

O que você achou deste conteúdo?

O que você achou deste conteúdo?

Fernando
Fernando Nunes
Assistente de desenvolvimento em PHP na Kinghost – Entusiasta do estudo de orientação a objeto e de todos os desafios e complexidades relacionados a ele.
Fernando
Fernando Nunes
Assistente de desenvolvimento em PHP na Kinghost – Entusiasta do estudo de orientação a objeto e de todos os desafios e complexidades relacionados a ele.

Compartilhe esse conteúdo com alguém que possa gostar também

Receba todo mês conteúdos
incríveis como esses para
seguir evoluindo

Conteúdos relacionados

Você sabe o que é spyware? Esse tipo de software malicioso é uma das maiores ameaças à segurança digital atualmente. O tema “spyware” é cada vez mais relevante à medida que os ataques continuam a crescer em número e sofisticação.  Em um mundo onde a maioria das pessoas confia em dispositivos digitais para suas atividades,...
Utilizar uma IA que cria imagens a partir de um comando textual, além de ser uma excelente forma de expressar sua imaginação, também pode ser um recurso interessante em funções profissionais.  Alguns passos são importantes para ter uma boa experiência com os geradores de imagem, desde a criação de um bom prompt (conjunto de palavras),...
A lógica de programação é uma das principais habilidades na vida de uma pessoa programadora. Com ela, é possível organizar os processos e ações para que os programas funcionem de maneira correta. No mundo da tecnologia a lógica de programação serve não apenas para desenvolver sistemas bem estruturados, mas também para resolver problemas complexos de...

Mensagens para você