最近使用了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);