laravel5 緩存的使用


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

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM