thinkphp緩存清除
❶ thinkphp框架刪除了runtime文件夾之後,怎麼還是沒刪除緩存呢
thinkphp默認生成的緩存是在runtime文件夾里,要是還是有緩存有二種可能:
一:你的瀏覽器緩存;
二:配置文件修改緩存目錄到其他文件夾;
❷ thinkphp3.2 框架怎麼寫清除緩存
hinkPHP需要清除的緩沖有四個:模版緩存(Cache),數據緩存目錄(Temp), 日誌目錄(Logs), 數據目錄(Data)。
// 清除緩存目錄
function clearCache($type=0,$path=NULL) {
if(is_null($path)) {
switch($type) {
case 0:// 模版緩存目錄
$path = CACHE_PATH;
break;
case 1:// 數據緩存目錄
$path = TEMP_PATH;
break;
case 2:// 日誌目錄
$path = LOG_PATH;
break;
case 3:// 數據目錄
$path = DATA_PATH;
}
}
import("ORG.Io.Dir");
Dir::del($path);
}如果你還不明白的話,你可以在後盾人看看教材視頻,多看看幾遍,慢慢的不就會了,如果嫌棄麻煩,你可以直接去後盾網問問那些專家講師,他們很樂意幫你的,希望能幫到你,給個採納吧謝謝,@(。・o・)@
❸ thinkphp 如何實現清除緩存
define('RUNTIME_PATH','./runtime/'.APP_NAME.'/');
首先一開始的時候把緩存目錄提出,讓所有緩存都放入一個目錄,這樣清理緩存就很容易了。
ThinkPHP默認使用的是文件緩存,那麼就只要把緩存文件刪除就可以了。
可以使用:
import('ORG.Io.Dir');
Dir::delDir('./runtime/');
❹ thinkphp f方法怎麼獲取緩存文件
F方法的特點是:
簡單數據緩存;
文件形式保存;
採用PHP返回數據方式載入緩存;
支持子目錄緩存以及自動創建;
支持刪除緩存和批量刪除;
寫入和讀取緩存
F('data','test data');
默認的保存起始路徑是DATA_PATH(該常量在默認配置位於RUNTIME_PATH.'Data/'下面),也就是說會生成文件名為DATA_PATH.'data.php'的緩存文件。
注意:確保你的緩存標識的唯一,避免數據覆蓋和沖突。
下次讀取緩存數據的時候,使用:
$Data = F('data');
我們可以採用子目錄方式保存,例如:
F('user/data',$data); // 緩存寫入
F('user/data'); // 讀取緩存
就會生成DATA_PATH.'user/data.php' 緩存文件,如果user子目錄不存在的話,則會自動創建,也可以支持多級子目錄,例如:
F('level1/level2/data',$data);
如果需要指定緩存的起始目錄,可以用下面的方式:
F('data',$data,TEMP_PATH);
獲取的時候則需要使用:
F('data','',TEMP_PATH);
刪除緩存
刪除緩存也很簡單,使用:
F('data',NULL);
第二個參數傳入NULL,則表示刪除標識為data的數據緩存。
支持批量刪除功能,尤其是針對子目錄緩存的情況,假設我們要刪除user子目錄下面的所有緩存數據,可以使用:
F('user/*',NULL);
又或者使用過濾條件刪除,例如:
F('user/[^a]*',NULL);
❺ thinkphp 數據緩存是否校驗緩存是什麼意思
在ThinkPHP中進行緩存操作,一般情況下並不需要直接操作緩存類,因為系統內置對緩存操作進行了封裝,直接採用S方法即可,例如:
緩存初始化
// 緩存初始化
S(array('type'=>'xcache','expire'=>60));
緩存初始化可以支持的參數根據不同的緩存方式有所區別,常用的參數是:
參數 描述
expire 緩存有效期(時間為秒)
prefix 緩存標識前綴
type 緩存類型
系統目前已經支持的緩存類型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache。
如果S方法不傳入type參數初始化的話,則讀取配置文件中設置的DATA_CACHE_TYPE參數值作為默認類型。同樣的道理,prefix參數如果沒有傳入會讀取配置文件的DATA_CACHE_PREFIX參數值,expire參數沒有傳入則讀取DATA_CACHE_TIME配置值作為默認。
有些緩存方式會有一些自身特殊的參數,例如Memcache緩存,還需要配置其他的參數:
S(array(
'type'=>'memcache',
'host'=>'192.168.1.10',
'port'=>'11211',
'prefix'=>'think',
'expire'=>60)
);
對於全局的緩存方式,一般我們建議添加prefix(緩存前綴)參數用以區分不同的應用,以免混淆。
緩存設置
// 設置緩存
S('name',$value);
會按照緩存初始化時候的參數進行緩存數據,也可以在緩存設置的時候改變參數,例如:
// 緩存數據300秒
S('name',$value,300);
甚至改變之前的緩存方式或者更多的參數:
// 採用文件方式緩存數據300秒
S('name',$value,array('type'=>'file','expire'=>300));
如果你在緩存設置的時候採用上面的數組方式傳入參數的話,會影響到後面的緩存存取。
緩存讀取
// 讀取緩存
$value = S('name');
緩存讀取的是前面緩存設置的值,這個值會受緩存初始化或者緩存設置的時候傳入的參數影響。 如果緩存標識不存在或者已經過期,則返回false,否則返回緩存值。
緩存刪除
// 刪除緩存
S('name',null);
刪除緩存標識為name的緩存數據。
對象方式操作緩存
我們可以採用對象方式操作緩存,例如:
// 初始化緩存
$cache = S(array('type'=>'xcache','prefix'=>'think','expire'=>600));
$cache->name = 'value'; // 設置緩存
$value = $cache->name; // 獲取緩存
unset($cache->name); // 刪除緩存
如果你設置了緩存前綴的話,對應的緩存操作只是對應該緩存前綴標識的,不會影響其他的緩存。
關於文件緩存方式的安全機制
如果你使用的是文件方式的緩存機制,那麼可以設置DATA_CACHE_KEY參數,避免緩存文件名被猜測到,例如:
'DATA_CACHE_KEY'=>'think'
緩存隊列
數據緩存可以支持緩存隊列,簡單的說就是可以限制緩存的數量,只需要在初始化的時候指定length參數:
S(array('type'=>'xcache','length'=>100,'expire'=>60));
設置了length參數後,系統只會緩存最近的100條緩存數據。