Cacheer-PHP é um pacote minimalista para caching em PHP, oferecendo uma interface simples para armazenar e recuperar dados em cache utilizando arquivos e banco de dados.
- Armazenamento e recuperação de cache em arquivos e banco de dados.
- Expiração de cache personalizável.
- Limpeza e flush de cache.
- Suporte a namespaces para organização de cache.
- Limpeza automática do diretório de cache (
flushAfter
). - Saída de Dados Personalizada (
JSON, Array, Strings, Objetos
)
O CacheerPHP está disponível via Composer:
"silviooosilva/cacheer-php": "^2.0"
Ou rode o comando:
composer require silviooosilva/cacheer-php
- Armazenar e Recuperar Dados em Cache
- Expiração de cache personalizável
- Limpeza e flush de cache
- Suporte a namespaces para organização de cache
- Limpeza automática do diretório de cache
flushAfter
- Cache de Resposta de API
- Saída de Dados Personalizada (
JSON
) - Saída de Dados Personalizada (
Array
) - Saída de Dados Personalizada (
String
)
Estamos entusiasmados em anunciar o lançamento da versão 2.0.0 do CacheerPHP! Esta versão traz uma série de novos recursos e melhorias que ampliam a flexibilidade e o poder de escolha para desenvolvedores que buscam gerenciar cache de forma eficiente.
- Suporte a Banco de Dados: Agora o CacheerPHP suporta armazenamento de cache em banco de dados com opções para
MySQL
,SQLite
ePostgreSQL
. Isso permite maior flexibilidade, escalabilidade e performance em diversos cenários de uso. - Melhorias de Performance: Otimizações adicionais para a recuperação e inserção de cache, garantindo maior eficiência, especialmente em sistemas com alto volume de dados.
- Novos Recursos: Agora é possível monitorar o funcionamento do sistema de cache com o novo recurso de logs. Erros, avisos, informações e mensagens de debug são registrados e armazenados, proporcionando uma visão clara do desempenho do sistema e facilitando a identificação e solução de eventuais problemas.
Com a versão 2.0.0, você ganha:
- Flexibilidade para escolher a melhor solução de armazenamento de cache para sua aplicação.
- Melhor performance, com aprimoramentos no processo de recuperação e armazenamento de dados em cache.
Para garantir uma transição suave para a versão 2.0.0, siga este manual de atualização detalhado.
- PHP versão 8.0 ou superior.
- Banco de Dados (opcional): MySQL, PostgreSQL, ou SQLite (para uso do driver de cache baseado em banco de dados).
Antes de iniciar a atualização, é recomendável fazer backup de quaisquer dados de cache relevantes. Se estiver utilizando cache baseado em arquivos, salve o diretório de cache.
Execute o comando abaixo para atualizar para a versão mais recente do CacheerPHP:
composer require silviooosilva/cacheer-php:^2.0.0
Após a atualização, siga as orientações abaixo para configurar a nova versão.
Manter Cache Baseado em Arquivos.
Se você já utiliza cache por arquivos e deseja continuar com essa configuração, nenhuma ação adicional é necessária.
Migrar para Cache Baseado em Banco de Dados
- Edite o arquivo de configuração do CacheerPHP, localizado na pasta
Boot/config.php
, e insira os dados do seu banco.
- Exemplo de uso no código:
<?php
require_once __DIR__ . "/../vendor/autoload.php";
use Silviooosilva\CacheerPhp\Cacheer;
$Cacheer = new Cacheer();
$Cacheer->setConfig()->setDatabaseConnection('mysql');
$Cacheer->setDriver()->useDatabaseDriver();
- Para evitar problemas com expiração de cache, configure o fuso horário:
$Cacheer->setConfig()->setTimeZone('Africa/Luanda');
NB.: Certifique-se de que o timezone fornecido é válido
- Configure o caminho para salvar os logs:
$Cacheer->setConfig()->setLoggerPath('/path/CacheerPHP.log');
A classe principal do pacote, usada para todas as operações de cache.
Inicia uma configuração personalizada para o CacheerPHP.
$Cacheer->setConfig();
$Cacheer->setConfig()->setDatabaseConnection(string $driver)
Configura o banco de dados para armazenamento do cache.
- Parâmetros:
$driver: Driver do banco de dados. Valores possíveis: 'mysql', 'pgsql', 'sqlite'.
Exemplo:
$Cacheer->setConfig()->setDatabaseConnection('mysql');
$Cacheer->setConfig()->setTimeZone(string $timezone);
Define o fuso horário para operações de cache.
- Parâmetros
$timezone: Fuso horário no formato PHP (exemplo: 'UTC', 'Africa/Luanda').
Exemplo:
$Cacheer->setConfig()->setTimeZone('UTC');
$Cacheer->setConfig()->setLoggerPath(string $path);
Define o caminho onde os logs serão armazenados.
- Parâmetros
$path: Caminho completo para o arquivo de logs.
Exemplo:
$Cacheer->setConfig()->setLoggerPath('/path/to/logs/CacheerPHP.log');
useFileDriver()
Define o driver de cache como baseado em arquivos.
$Cacheer->setDriver()->useFileDriver();
Define o driver de cache como baseado em banco de dados.
useDatabaseDriver()
$Cacheer->setDriver()->useDatabaseDriver();
- PHP: 8.0 ou superior.
- Drivers de Banco de Dados: MySQL, PostgreSQL, SQLite.
Aproveite os recursos avançados da versão 2.0.0 do CacheerPHP para gerenciar o cache da sua aplicação com eficiência!
Para rodar os testes, vá para a raíz do projeto e digite o comando:
vendor/bin/phpunit