網站的靜態緩存對大訪問量有很好的緩解作用,尤其對網站的大並發,可有效的緩解數據庫的壓力。在thinkphp中實現靜態緩存很簡單,thinkphp都已經封裝好了直接調用即可。
靜態緩存
-
首先設置 HTML_PATH 靜態緩存文件目錄,默認是在項目的應用目錄下如:App/Html
-
在前台或后台打開靜態緩存
1
|
'HTML_CACHE_ON'
=> true,
// 開啟靜態緩存
|
3.設置靜態緩存時間
1
|
'HTML_CACHE_TIME'
=> 3600,
// 全局靜態緩存有效期(秒)
|
4.設置靜態緩存后綴
1
|
'HTML_FILE_SUFFIX'
=>
'.html'
,
// 設置靜態緩存文件后綴
|
5.設置靜態緩存規則
1
2
3
4
5
6
7
8
9
10
11
12
13
|
'HTML_CACHE_RULES'
=>
array
(
// 定義靜態緩存規則
// 定義整個文章控制器
'Article:'
=> 'Article/{:action}_{id}' ,
// 對商品進行緩存
'Product:plist'
=> 'Product/plist_{id}_{pid}' ,
// 對單個操作進行緩存
'Index:index'
=> 'Index/index' ,
'Product:category'
=>
array
(
'Product/category'
,0),
),
|
緩存規則有很多,可以參考thinkphp3.2的手冊,緩存時間設置為0時為永久緩存。
查詢緩存
除了靜態緩存還有查詢緩存也是比較常用的一種緩存方式:
一般情況下這么寫就可以緩存了,除了第一次查詢外再次查詢就直接讀緩存
1
|
$Model->cache(true)->where('status=1')->select();
|
還可以給這條緩存起名,以便在其他地方讀取該緩存
1
2
3
4
|
$Model
->cache(
'cache_name'
)->select();
//讀取該緩存
$value
= S(
'cache_name'
);
|
下面是查詢緩存配置
1
2
3
4
5
6
|
//緩存類型,這里寫的是文件緩存
'DATA_CACHE_TYPE'
=>
'File'
,
//緩存文件前綴
'DATA_CACHE_PREFIX'
=>
'Kangku_'
,
//緩存時間,秒
'DATA_CACHE_TIME'
=>600,
|
還可以單獨設置緩存方式與緩存時間
1
|
$Model
->cache(true,60,
'file'
)->select();
|