Workshop: Deploy descomplicado de aplicações em VPS 🚀

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

Saber como instalar o OpenClaw vai além dos requisitos técnicos. Antes de iniciar a configuração, é importante entender os objetivos da operação, os casos de uso e como a ferramenta pode contribuir para acelerar a implementação de agentes de IA. O OpenClaw centraliza a criação e operação de agentes de IA em um único ambiente....
Entenda como criar um agente de IA, definir arquitetura, escolher tecnologia adequada e preparar infraestrutura para execução em produção, considerando integrações, observabilidade, custos operacionais e escalabilidade. Criar um agente de IA vai além de escolher um modelo de linguagem ou escrever prompts. Em produção, fatores como integração com sistemas, gerenciamento de contexto, observabilidade, custos computacionais...
Mais do que entender o que é GEO, as marcas precisam desenvolver maturidade operacional para atuar nesse novo cenário: produção orientada à intenção, consistência temática e conteúdos estruturados para interpretação por modelos de IA, sem comprometer a experiência humana. A forma como os usuários acessam informação está passando por uma mudança estrutural. Interfaces baseadas em...
A crescente adoção de inteligência artificial e automação no mundo corporativo tem impulsionado o surgimento de novas ferramentas voltadas à coleta, análise e ativação de dados, exatamente o motivo para você saber o que é OpenClaw. Entre essas inovações, o OpenClaw chama atenção por ir além do modelo tradicional dos chatbots e se aproximar do...

Mensagens para você