kyrenator/query-cache

轻松缓存Eloquent集合

v1.0.1 2015-03-28 00:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:31:55 UTC


README

重要声明:此包未维护,可能完全不工作。使用风险自负!!

Laravel 5查询缓存

此Laravel 5包允许您通过实现Laravel 4 remember方法轻松缓存Eloquent查询。

##如何使用 ###步骤1:通过Composer安装

composer require kyrenator/query-cache

###步骤2:在模型中使用QueryCache

<?php namespace App;

use Kyrenator\QueryCache\QueryCache;
use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    use QueryCache;
}

###步骤3:在查询Eloquent时使用remember方法 当调用remember方法时,您可以指定查询要缓存的分钟数。如果您不指定分钟数,查询将缓存60分钟。

\App\Post::remember()->take(3)->get();

//use cache tags
\App\Post::remember()->cacheTags('posts', 'fresh')->take(3)->get();

##更多功能 ###全局缓存 如果您想缓存特定模型的全部查询,可以在模型中简单地定义cacheAll变量。QueryCache将对所有模型查询应用remember方法。

<?php namespace App;

use Kyrenator\QueryCache\QueryCache;
use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    use QueryCache;
    protected $cacheAll = true;
}

###更改时清除缓存 如果您想在创建、删除或更新现有模型时清除缓存,请定义$clearOnChange

<?php namespace App;

use Kyrenator\QueryCache\QueryCache;
use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    use QueryCache;
    protected $clearOnChange = true;
}

###缓存标签 QueryCache将使用模型名称作为缓存标签。您也可以定义自定义缓存标签。

<?php namespace App;

use Kyrenator\QueryCache\QueryCache;
use Illuminate\Database\Eloquent\Model;

class Post extends Model {
    use QueryCache;
    protected $clearOnChange = true;
    protected $cacheTags = 'fresh';
    protected $cacheAll = true;
}