tp5 帶標籤的快取 建立和清除 測試

2022-07-31 18:36:11 字數 1655 閱讀 1842

原文:

測試設定了標籤的快取的獲取方式 和清除標籤快取。

有時候我們可能會對同型別的一些資料做統一快取。和統一清除更新處理。

那樣我們就可以根據標籤來進行設定,下面我們來測是tp5的快取標籤的使用 

首先是設定帶標籤的快取

cache::tag($tag)->set($key,$map,10);

獲取帶標籤的快取值

這裡。我測試了發現 在獲取時 無論是否標註標籤 都能獲取快取值。

也就是說下面兩種方式都可以獲取到

cache::get($key

)cache::tag($tag)->get($key)

然後我們開始清除 帶標籤的快取值

cache::clear($tag);

清除了以後 發現 設定了標籤的快取已經沒有值了。沒有設定標籤的 快取值還在

所以,這裡我得出了總結 

設定快取標籤 只是給快取設定了乙個頭銜。而key值 才是快取的唯一標誌。 

清除帶快取的標籤 相當於是根據標籤 找到這個標籤下的快取。然後清除他們的key對應的值 

以下是測試資料

$tag = 'test';

$key = 'test';

$key_1 = 'test_1';

$map =[

'name'=>'wang'];

$map_1 =[

'age'=>17];

cache::tag($tag)->set($key,$map,10);

cache::set($key_1,$map_1,10);

dump(cache::get($key

));dump(cache::tag($tag)->get($key

));dump(cache::get($key_1

));dump(cache::tag($tag)->get($key_1

));cache::clear($tag

);dump(cache::get($key

));dump(cache::tag($tag)->get($key

));dump(cache::get($key_1

));dump(cache::tag($tag)->get($key_1));

返回的結果是 

array (size=1)

'name' => string 'wang' (length=4)

array (size=1)

'name' => string 'wang' (length=4)

array (size=1)

'age' => int 17

array (size=1)

'age' => int 17

//清除標籤以後的快取資料。

boolean

false

boolean

false

array (size=1)

'age' => int 17

array (size=1)

'age' => int 17

tp5快取使用

引入 usethink cache 使用 options 快取型別為file type file 快取有效期為永久有效 expire 0,快取字首 prefix think 指定快取目錄 path runtime cache cache connect options if cache has th...

tp5帶條件分頁

前台寫個hidden的input,後台 分頁引數 num input get.pagelist post和get需要和前台提交的時候保持一致否則無效 case lists db table think case where map field field order id asc paginate ...

tp5快取應用例項

這裡的快取型別是file 1 第乙個例子 這裡舉例獲取 的文章導航,當使用者第一次訪問時是從資料庫裡查詢資料,然後生成快取檔案,再次訪問時直接從快取裡取資料 這也是最常見的快取應用 主頁的控制器 public function index else 省略其他資料 無論是更新,新增還是刪除,如果有快取...