阅读(1502) (12)

Laravel 8 Cache 辅助函数

2021-06-30 17:14:47 更新

除了可以使用 Cache 的门面以及 Cache 契约 外,你也可以使用全局辅助函数 cache 来获取和保存缓存数据。当只使用一个字符串参数调用 cache 函数时,这将返回给定键对应的值。

$value = cache('key'); 

如果你向函数提供了一组带有过期时间的键值对,那么在这段时间内,它将缓存此数据。

cache(['key' => 'value'], $seconds);

cache(['key' => 'value'], now()->addMinutes(10)); 

cache 函数在没有任何参数的情况下被调用,那么它返回的将是一个实现 Illuminate\Contracts\Cache\Factory 的实例,并且允许你调用其他的缓存方法:

cache()->remember('users', $seconds, function () {
    return DB::table('users')->get();
}); 

技巧:如果在测试中使用全局函数 cache,你可以使用 Cache::shouldReceive 方法就像 测试 Facade