交流群 375462817
视频配套文档群文件里面可以下载。
快速入门 https://www.bilibili.com/video/av70545323/
模型关系 https://www.bilibili.com/video/av73028135/
认证授权 https://www.bilibili.com/video/av74879198/
OAuth 2.0 https://www.bilibili.com/video/av75125939/
核心概念 https://www.bilibili.com/video/av76060293/
Cache::has('key')
Cache::get('key')
Cache::get('key', 'defult')
Cache::increment('key')
Cache::increment('key', 3) // 如果 key 不存在,返回 3,并且不会为你存储 key,即 key 仍为 null; 失败返回 false
同名方法
sear = rememberForever
put = set
has = offsetExists
get = offsetGet
forget = offsetUnset
get: 获取缓存数据,不存在则存储缓存
if (!$users = Cache::get('users')) {
$users = DB::table('users')->get();
Cache::set('users', $users, 10); // 10 => 10 分钟
}
// 等同于
$users = Cache::remember('users', 10, function () {
return DB::table('users')->get();
});
many: 同时获取多个 key,不存在返回 null,此时等同于 get
$aStudent = Cache::many(['helen', 'jack']);
// 等同于 get
// 设置默认值
$aStudent = Cache::many(['helen' => new Student(), 'jack']);
// 等同于 get
putMany: 设定多个值
Cache::putMany(['helen' => new Student('helen'), 'jack' => '10'], 10);
rememberForever | sear: 获取缓存数据,不存在则永久存储缓存
$users = Cache::rememberForever('users', function () {
return DB::table('users')->get();
});
// 等同于 sear
pull: 获取 key 然后删除 key
$value = Cache::pull('key'); // 如果不存在 key,返回 null
$value = Cache::pull('key', 'value');
put: 设置缓存
Cache::put('key', 'value', 10);
$expiresAt = Carbon::now()->addMinutes(10);
Cache::put('key', 'value', $expiresAt);
add: 如果缓存存在了,就返回 false;如果不存在,则添加缓存,然后返回 true
Cache::add('key', 'value', 10);
forever | forget | flush | clear: 永久设置缓存;删除缓存;全部删除
Cache::forever('key', 'value');
Cache::forget('key');
Cache::flush(); // 不区别前缀,删除所有
// 等同于 clear
deleteMultiple: 删除多个 key
Cache::deleteMultiple(['key1', 'key2']);
tag: 设置标签
# 取的时候标签内容必须一致,不能多,不能少。
# 删的时候标签内容中只要命中,则删除
Cache::tags(['people', 'artists'])->put('John', 141, $minutes);
Cache::tags(['people', 'authors'])->put('Anne', 22, $minutes);
Cache::tags('authors')->flush();
dump(Cache::tags(['people', 'authors'])->get('Anne')); // null
dump(Cache::tags(['people', 'artists'])->get('John')); // '141'
辅助全局函数
cache('key');
cache(['key' => 'value'], $minutes);
cache(['key' => 'value'], Carbon::now()->addSeconds(10));
getStore: 返回缓存实例
# sample 1
Illuminate\Cache\FileStore Object
(
[files:protected] => Illuminate\Filesystem\Filesystem Object
(
)
[directory:protected] => /var/www/html/larabbs/storage/framework/cache/data
)
# sample 2
Illuminate\Cache\RedisStore Object
(
[redis:protected] => Illuminate\Redis\RedisManager Object
(
[driver:protected] => predis
[config:protected] => Array
(
[default] => Array
(
[host] => 127.0.0.1
[password] =>
[port] => 22222
[database] => 0
)
)
[connections:protected] =>
)
[prefix:protected] => myCachePrefix:
[connection:protected] => default
)
版权声明:本文为OneGoal原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。