缓存从数据库

时间:2016-08-03 10:52:05

标签: laravel caching

我几天前刚搬到Laravel,所以我仍然是这个框架的新手...我在数据库中存储了静态html页面(大量页面),访问者可以通过键入以下内容来请求这些页面相关网址。我想通过缓存来提高性能,在Laravel中最好的方法是什么?以及如何从数据库中删除缓存页面?

3 个答案:

答案 0 :(得分:1)

  

Laravel为各种缓存系统提供统一的API。

强烈建议查看文档。

Laravel Cache Documentation

您可以永久缓存页面,一旦删除它们,就可以在缓存中调用forget()方法

检索或更新

$value = Cache::rememberForever('users', function() {
    return DB::table('users')->get();
});

$value = Cache::remember('users', $minutes, function() {
    return DB::table('users')->get();
});

商品

Cache::put('key', 'value', $minutes);

从缓存中删除

Cache::forget('key');

答案 1 :(得分:1)

namespace App;

use Illuminate\Database\Eloquent\Model;
use Cache;
use Carbon\Carbon;


class Page extends Model
{
    public function getPage($url)
    {
        if (Cache::has($url))
        {
            $page = Cache::get($url);
        }
        else {
            $page = self::where(['confirm'=> 1, 'url'=> $url])->first();
            $expiresAt = Carbon::now()->addHours(12);
            Cache::put($url, $page, $expiresAt);
        }

        return $page;

    }
}

Очискакеша:

Cache::flush();

答案 2 :(得分:0)