Download the PHP package plug2team/model-cacheable without Composer
On this page you can find all versions of the php package plug2team/model-cacheable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package model-cacheable
Model Cacheable
Pacote para controlar cache em modelos.
Instalação
composer require plug2team/model-cached
Após a instalação do pacote, importe o arquivo de configuração:
php artisan vendor:publish --tag=config
Configurando modelos
Para seu modelo ser observado pelo cache, basta aplicar a trait Cacheable
em sua model.
em AppServiceProvider
no metodo boot
registre o modelo
Utilidades
Registre os comandos auxiliares em Console/Kernel.php
.
Como funciona
Após alguns testes, observei que é mais facil e eficiente gerenciar a persistencia de registros por agrupamento.
O agrupamento funciona assim:
-
Convertemos o nome da model de
App\User
parauser
. -
Após termos o nome, criamos o grupo de indices para nome
user.indexes
onde guardamos e gerenciamos osids
recebimos por meio dos eventos do eloquente. -
Tendo esses indices, o proximo passo é criar o agrupamento padrão o grupo
all
pode ser recuperadoapp('cacheable')->index('App\User')->group('all')->retrieve()
outra forma de recuperar esse grupo é chamando direto na model\App\User::cache('all')
. - Para capturar os indices vinculados ao grupo
app('cacheable')->index('App\User')->group('all')->getIndexes()
ouapp('cache')->get('cached.{model}.{group}')
isso retornara a lista de ids vinculados ao grupo.
Recuperar indice
A estrutura de chaves é .id
Recuperar grupos
Após registrar a model, passamos a monitorar os eventos do eloquente: saved
,deleted
,retrieved
.
Para recupear um agrupamento é simples, basta informar o grupo em:
O grupo all
é registrado por padrão, outros grupos podem ser registrados com sua arvores de chaves.