## 緩存
在`FastAdmin`插件開發中如需使用緩存,可以使用`ThinkPHP`中自帶的緩存機制進行數據的緩存。
### 設置緩存
可以采用以下兩種方式設置緩存,注意在插件中使用緩存,必須使用`tag`方法用于區分插件的緩存。
~~~php
//直接調用Cache的set方法
\think\Cache::tag('插件標識')->set('緩存標識','緩存數據', '緩存時長');
//使用輔助函數
cache("緩存標識", "緩存數據", "緩存時長", "插件標識");
//示例,在插件標識為mydemo下緩存一個名稱為name1,數據為value1的緩存數據
//直接調用Cache的set方法
\think\Cache::tag('mydemo')->set('name1','value1', 3600);
//使用輔助函數
cache("name1", "value1", 3600, "mydemo");
~~~
### 讀取緩存
可以采用以下兩種方式讀取緩存,注意在插件中使用緩存,必須使用`tag`方法用于區分插件的緩存。
~~~php
//直接調用Cache的get方法
\think\Cache::tag('插件標識')->get('緩存標識');
//使用輔助函數
cache("?緩存標識", "", null, "插件標識");
//示例,在插件標識為mydemo下獲取緩存名稱為name1的數據
//直接調用Cache的get方法
\think\Cache::tag('mydemo')->get('name1');
//使用輔助函數
cache("?name1", "", null, "mydemo");
~~~
### 刪除緩存
~~~css
//刪除插件標識mydemo下的指定name1緩存數據
\think\Cache::tag('mydemo')->rm('name1');
// 刪除插件標識為mydemo下的所有緩存數據
\think\Cache::clear('mydemo');
~~~
### SQL數據緩存
~~~css
//獲取并設置緩存
\think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->select([1, 3, 5]);
//更新數據庫并清除緩存
\think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->update(['id'=>1, 'name'=>'thinkphp']);
//獲取更新后的緩存數據
\think\Db::name('mydemo_list')->cache('sqlname1', 60, 'mydemo')->select([1, 5]);
~~~
### 溫馨提示
在應用插件中使用緩存,務必給緩存打標簽,用于區分緩存,緩存的標簽務必使用`應用插件標識`