Gera arquivos PHPDoc para facades do Laravel e modelos Eloquent, permitindo que IDEs como o PhpStorm ofereçam autocomplete preciso.
mike-bronner/laravel-model-caching
Pacote Laravel que armazena automaticamente em cache consultas de modelos Eloquent e relacionamentos, invalidando o cache quando os modelos mudam.
- Estrelas
- 2,378
- Forks
- 231
- Issues abertas
- 2
- Último commit
- há 4 dias
O que é?
O Model Caching for Laravel adiciona o trait Cachable aos modelos Eloquent para armazenar no cache da aplicação resultados de consultas, relacionamentos carregados antecipadamente e agregações, sem precisar definir chaves de cache manualmente. Quando um modelo é criado, atualizado ou excluído, as entradas de cache relacionadas são invalidadas automaticamente. Alterações em tabelas pivot de relações belongsToMany também são tratadas.
O pacote funciona com os stores de cache Redis, Memcached, APC e DynamoDB, e oferece opções como TTL global ou por modelo, um período de espera que agrupa invalidações em modelos com muitas gravações, fallback para o banco de dados quando o cache está indisponível e prefixos de cache por tenant. Consultas que usam inRandomOrder() ou bloqueios de linha não são armazenadas em cache, e um modelo relacionado sem o trait impede que a consulta do modelo pai seja armazenada em cache.
Requer PHP 8.3+ e Laravel 12 ou 13.
Recursos principais
- 01Adiciona cache a consultas Eloquent, carregamentos antecipados e agregações por meio de um trait ou modelo base
- 02Invalida automaticamente as entradas de cache relacionadas em criações, atualizações, exclusões e alterações em tabelas pivot
- 03É compatível com os stores de cache Redis, Memcached, APC e DynamoDB
- 04Oferece configurações de TTL de cache globais e por modelo
- 05Disponibiliza um período de espera para limitar invalidações causadas por gravações frequentes
- 06Pode recorrer a consultas diretas ao banco de dados quando o backend de cache está indisponível
Casos de uso
- Acelerar páginas Laravel com muitas leituras que executam repetidamente consultas Eloquent
- Armazenar dados de modelos em cache sem escrever manualmente a lógica de Cache::remember e forget
- Usar em aplicações Laravel multi-tenant que precisam isolar o cache por tenant
- Usar em aplicações que adotam DynamoDB como store de cache gerenciado na AWS
Início rápido
- 1
Instale o pacote com o Composer
composer require mike-bronner/laravel-model-caching - 2
Adicione o trait Cachable a um modelo base do qual seus modelos herdem
- 3
Se quiser, publique o arquivo de configuração
php artisan modelCache:publish --config
Antes de usar
- Requer PHP 8.3 ou superior e Laravel 12 ou 13.
- Os drivers de cache Array, File e Database não são compatíveis.
- Consultas que carregam antecipadamente uma relação cujo modelo não usa Cachable não são armazenadas em cache.
- A invalidação do DynamoDB é apenas lógica; por isso, linhas desatualizadas permanecem até a limpeza por TTL.
Tópicos
Perguntas frequentes
- O que é laravel-model-caching?
- Pacote Laravel que armazena automaticamente em cache consultas de modelos Eloquent e relacionamentos, invalidando o cache quando os modelos mudam. O Model Caching for Laravel adiciona o trait Cachable aos modelos Eloquent para armazenar no cache da aplicação resultados de consultas, relacionamentos carregados antecipadamente e agregações, sem precisar definir chaves de cache manualmente. Quando um modelo é criado, atualizado ou excluído, as entradas de cache relacionadas são invalidadas automaticamente. Alterações em tabelas pivot de relações belongsToMany também são tratadas.
- laravel-model-caching é gratuito? Qual é a licença?
- laravel-model-caching é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- laravel-model-caching ainda é mantido?
- Manutenção ativa. O último commit de laravel-model-caching foi em 3 de nov. de 2026.
- Para que posso usar laravel-model-caching?
- Acelerar páginas Laravel com muitas leituras que executam repetidamente consultas Eloquent Armazenar dados de modelos em cache sem escrever manualmente a lógica de Cache::remember e forget Usar em aplicações Laravel multi-tenant que precisam isolar o cache por tenant Usar em aplicações que adotam DynamoDB como store de cache gerenciado na AWS
- Como instalar laravel-model-caching?
- Instale o pacote com o Composer: composer require mike-bronner/laravel-model-caching Adicione o trait Cachable a um modelo base do qual seus modelos herdem Se quiser, publique o arquivo de configuração: php artisan modelCache:publish --config
- Onde consigo laravel-model-caching?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/mike-bronner/laravel-model-caching
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Pacote para Laravel que captura consultas lentas ao banco, agrupa repetições e usa um LLM para sugerir índices e reescritas, com um dashboard integrado.
Um framework web Python de alto nível que incentiva o desenvolvimento rápido e um design limpo e pragmático.
Servidor de cache de baixa latência escrito em C, compatível com os protocolos Memcache, Redis/Valkey, HTTP e Postgres, e que pode ser integrado como um único arquivo C.
Uma biblioteca cliente .NET para Redis, com suporte a Redis Sentinel e Cluster e APIs síncronas e assíncronas.
Um framework PHP para aplicações web com sintaxe expressiva, que inclui roteamento, ORM, migrations, filas e transmissão de eventos em tempo real.