如何在 Laravel 5.1 中缓存计数函数
how to cache count function in Laravel 5.1
我想缓存我的 acqusition 模型的计数函数。
我确实有1 800 000个资产,我不想每次都数这个。
我不想在我使用的每个控制器中都这样做:
$count = ( ! Cache::has('count_acquisition')) ? Cache::put('count_acquisition', Acquisition::count(), 60) : Cache::get('count_acquisition');
它很重,我更愿意直接在我的采集模型中这样做,但我不知道怎么做。
在您的 Acquisition
模型中创建静态 count
方法:
public static function count()
{
return Cache::remember('count_acquisition', 60, function () {
return static::query()->count();
});
}
然后在你的控制器中,简单地调用这个方法:
$count = Acquisition::count();
我想缓存我的 acqusition 模型的计数函数。
我确实有1 800 000个资产,我不想每次都数这个。
我不想在我使用的每个控制器中都这样做:
$count = ( ! Cache::has('count_acquisition')) ? Cache::put('count_acquisition', Acquisition::count(), 60) : Cache::get('count_acquisition');
它很重,我更愿意直接在我的采集模型中这样做,但我不知道怎么做。
在您的 Acquisition
模型中创建静态 count
方法:
public static function count()
{
return Cache::remember('count_acquisition', 60, function () {
return static::query()->count();
});
}
然后在你的控制器中,简单地调用这个方法:
$count = Acquisition::count();