thinkphp 中內建了快取操作 3.1版本的資料快取方法是cache

基本用法:

  S(array('type'=>'xcache','expire'=>60));

快取初始化

  快取初始化可以支援的引數根據不同的快取方式有所區別,常用的引數

    expire   快取的有效期

    prefix   快取標識字首

    type   快取型別

  其中 expire prefix type 為識別符號 命名遵守識別符號的命名規則可以隨意替換

  ps:如果S方法不傳入type引數初始化,可以讀取配置檔案中設定的DATA_CACHE_TYPE引數值作為預設型別

       prefix 引數沒有傳入會讀取配置檔案的DATA_CACHE_PREFIX引數值

     expire 引數沒有傳入則讀取DATA_CACHE_TIME配置值作為預設值

  有些快取方式會有一些自身特殊的引數,如memcache快取,還需配置其他的引數:

  

   S(array(

       'type'=>'memcache',    //快取型別

       'host'=>'localhost',     //主機地址

       'port'=>'11211',     //memcache埠號

       'prefix'=>'mem',    //快取字首

       'expire'=>60      //快取時間  一分鐘

     ));

快取設定

//設定快取
S('a',$value);

上面的程式碼中沒有設定快取時間 會讀取配置檔案中的DATA_CACHE_TIME中的引數值

在快取設定的時候改變引數

//快取資料300s
S('a',$value,300);
// 採用檔案方式快取資料300秒
S('a',$value,array('type'=>'file','expire'=>300));

快取讀取

//讀取快取
$res = S('a');

ps:如果快取標識不存在或者已經過期,則返回false,否則返回快取值

快取刪除

//刪除快取
S('a',null);

物件方式操作快取

//初始化快取
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name = 'value'; //設定快取
$value = $cache->name; //獲取快取
unset($cache->name); //刪除快取 ps:其中name為合法的識別符號

快取的應用

   在讀取資料庫的時候把讀取的資料快取起來 當用戶再次呼叫讀取資料庫函式時先判斷快取是否過期 如果快取沒有過期可直接從快取中讀取資料 快取過期再讀取資料庫 從而減輕資料庫的壓力