最近使用了laravel5 的 缓存,做些记录,若有错误,还望指正
-
设置缓存
1 #put 方式 2 Cache::put('key', 'value', $minutes); 3 4 # 设置文件缓存 5 Cache::store('file')->get('foo'); 6 7 #使用redis 做缓存 8 Cache::store('redis')->put('bar', 'baz', 10); // 存储在redis 的数据 格式是这样子的,需要注意:1) "laravel:bar" 9 10 #其他缓存设置方式 11 #add 方法只会把暂时不存在缓存中的项目放入缓存,如果成功存放,会返回 true,否则返回 false: 12 13 Cache::add('key', 'value', $minutes); 14 15 #forever 方法可以用来存放永久的项目到缓存中,这些值必须被手动的删除,这可以通过 forget 方法实现: 16 17 Cache::forever('key', 'value'); 18 // 删除使用 Cache::forget('key');
-
判断缓存键值是否存在
1 if(Cache::has('key')){ 2 # code 3 }
-
获取缓存
1 #获取普通缓存 2 $value = Cache::get('foo'); 3 4 $value = Cache::pull('key');//put 与get 类似 5 6 #获取redis 缓存 7 $value = Cache::store('redis')->get('bar');
-
需要注意的是,获取缓存时,可以使用闭包函数的形式
1 $value = Cache::get('key', function() { 2 return DB::table(...)->get(); 3 });
-
-
更新缓存
-
有时候,你可能会想从缓存中取出一个项目,但也想在当取出的项目不存在时存入一个默认值,例如,你可能会想从缓存中取出所有用户,当找不到用户时,从数据库中将这些用户取出并放入缓存中,你可以使用 Cache::remember 方法达到目的:
1 $value = Cache::remember('users', $minutes, function() { 2 return DB::table('users')->get(); 3 });
-
如果那个项目不存在缓存中,则返回给 remember 方法的闭包将会被运行,而且闭包的运行结果将会被存放在缓存中。
-
使用 remember 和 forever 这两个方法来 ”永久“ 存储缓存:
1 $value = Cache::rememberForever('users', function() { 2 return DB::table('users')->get(); 3 });
-
-
清除缓存
1 #清除某个缓存 2 Cache::forget('key'); 3 4 # 清除所以缓存 5 Cache::flush(); 6 7 #pull 也可以清除缓存,并且获取该值 8 Cache::pull('key');
-
键值的递增与递减值(针对整型)
increment 和 decrement 方法可以用来调整缓存中的整数项目值,这两个方法都可以选择性的传入第二个参数,用来指示要递增或递减多少:
1 Cache::increment('key'); 2 3 Cache::increment('key', $amount); 4 5 Cache::decrement('key'); 6 7 Cache::decrement('key', $amount);