ThinkPHP5配置redis緩存


thinkphp采用cache類提供緩存功能支持,采用驅動方式,在使用緩存之前需要進行初始化操作。支持的緩存類型包括file、memcache、wincache、sqlite、redis和xcache等,

默認情況下是file類型,配置redis緩存可以單一配置redis也可以同時使用多個緩存類型。配置方式分別如下: 一、僅配置redis緩存,在配置文件(app
/config.php)中修改緩存設置如下:
'cache'                  => [
    // 驅動方式
    // 'type'   => 'File',
    // 緩存保存目錄
    // 'path'   => CACHE_PATH,
    // 緩存前綴
    // 'prefix' => '',
    // 緩存有效期 0表示永久緩存
    // 'expire' => 0,
    'redis'   =>  [
        // 驅動方式
        'type'   => 'redis',
        // 服務器地址
        'host'   => '192.168.1.xxx',  //redis服務器ip
    ],

],
 
         

  

 二、配置多個緩存類型,使用符合緩存類型,配置方式如下:

'cache' =>  [
    // 使用復合緩存類型
    'type'  =>  'complex',
    // 默認使用的緩存
    'default'   =>  [
        // 驅動方式
        'type'   => 'File',
        // 緩存保存目錄
        'path'   => CACHE_PATH,
    ],
    // 文件緩存
    'file'   =>  [
        // 驅動方式
        'type'   => 'file',
        // 設置不同的緩存保存目錄
        'path'   => RUNTIME_PATH . 'file/',
    ],
    // redis緩存
    'redis'   =>  [
        // 驅動方式
        'type'   => 'redis',
        // 服務器地址
        'host'   => '192.168.1.xxx',  //redis服務器ip
    ],
],
 
         

  

 使用符合緩存類型時,需要根據需要使用store方法切換緩存。 當使用
Cache::set('name', 'value');

Cache::get('name');
 
         

  

 的時候,使用的是default緩存標識的緩存配置。 如果需要切換到其它的緩存標識操作,可以使用:
// 切換到file操作

Cache::store('file')->set('name','value');

Cache::get('name');

// 切換到redis操作

Cache::store('redis')->set('name','value');

Cache::get('name');
 
         

  

 比如,查詢一篇文章時首先從redis中查詢,若未查到信息則從數據庫中查詢出結果,並存儲到redis中。
$article =Cache::store('redis')->get('artcicle'.$id);
if (!$article) {
  $article = Db::name('article')->where('status',1)->cache(true)->find($id);
  Cache::store('redis')->set('article'.$id,$article);
}
 
         

  

 


免責聲明!

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



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