一聚教程网:一个值得你收藏的教程网站

热门教程

Laravel缓存的高级优化的简单例子

时间:2022-06-25 00:46:50 编辑:袖梨 来源:一聚教程网

laravel提供五个缓存的驱动模式:

•文件系统
数据库
•Memcached
•APC
•Redis
•内存 (Arrays)

默认情况下, Laravel被配置为使用文件系统缓存驱动, 这是不需要配置的. 文件系统驱动把缓存项作为文件存储在storage/cache目录.如果你满意这个驱动, 没有其他的配置是必需的. 直接使用它就好:

提示: 使用文件系统缓存驱动程序之前, 要确保你的storage/cache目录是可写的.


在Laravel中使用缓存,可以使用Cache这个Facade,很方便而且可以很优雅的使用缓存,常见的使用缓存的方式是这样的:


$value = cache->get('key');
if($value === false){
    $value = DB->where('xx')->get();
    $value = cache->set('key', $value);
    cache->expire('key', 1800);
}

这个逻辑在Laravel中使用remember方法和闭包函数,可以非常优雅方便的表达,三行代码实现上面的过程。


如下:


use AppHttpRequests;
use AppModelsWp;
use IlluminateSupportFacadesCache;
 
class BlogController extends Controller
{
    private $indexPostsKey = 'com.tanteng.me.index.blog.posts';
 
    public function index()
    {
        $newPosts = Cache::store('redis')->remember($this->indexPostsKey, 30, function () {
            return Wp::type('post')->status('publish')->orderBy('post_date', 'desc')->take(16)->get();
        });
        return View('index/blog', compact('newPosts'));
    }
}

这只是Laravel中一个使用缓存方式的简单例子,这也是本站Blog页面列表的获取方式,首先找缓存,没有在闭包中查询数据库返回,并缓存30分钟,Cache::store(‘file’)可以方便使用不同的缓存方式。

热门栏目