承接 plug2team/model-cacheable 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

plug2team/model-cacheable

Composer 安装命令:

composer require plug2team/model-cacheable

包简介

README 文档

README

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.

namespace App;

use Illuminate\Foundation\Auth\User as Authenticatable;
use Plug2Team\ModelCached\Concerns\Cacheable;

class User extends Authenticatable
{
    use Cacheable;

em AppServiceProvider no metodo boot registre o modelo

    public function boot() {
        \App\User::crape();
    }

Utilidades

Registre os comandos auxiliares em Console/Kernel.php.

 $schedule->command('cacheable:flush')->cron(config('model_cached.commands.flush'));
 $schedule->command('cacheable:reindex')->cron(config('model_cached.commands.re_index'));

Como funciona

Após alguns testes, observei que é mais facil e eficiente gerenciar a persistencia de registros por agrupamento.

O agrupamento funciona assim:

  1. Convertemos o nome da model de App\User para user.

  2. Após termos o nome, criamos o grupo de indices para nome user.indexes onde guardamos e gerenciamos os ids recebimos por meio dos eventos do eloquente.

  3. Tendo esses indices, o proximo passo é criar o agrupamento padrão o grupo all pode ser recuperado app('cacheable')->index('App\User')->group('all')->retrieve() outra forma de recuperar esse grupo é chamando direto na model \App\User::cache('all').

  4. Para capturar os indices vinculados ao grupo app('cacheable')->index('App\User')->group('all')->getIndexes() ou app('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:

$users = \App\User::cache('all');

O grupo all é registrado por padrão, outros grupos podem ser registrados com sua arvores de chaves.

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-04-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固