我几天前刚搬到Laravel,所以我仍然是这个框架的新手...我在数据库中存储了静态html页面(大量页面),访问者可以通过键入以下内容来请求这些页面相关网址。我想通过缓存来提高性能,在Laravel中最好的方法是什么?以及如何从数据库中删除缓存页面?
答案 0 :(得分:1)
Laravel为各种缓存系统提供统一的API。
我强烈建议查看文档。
您可以永久缓存页面,一旦删除它们,就可以在缓存中调用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)