請求緩存
請求緩存(V5.0.1)
5.0.1以(yi)上版本支(zhi)持(chi)請(qing)(qing)求緩(huan)(huan)存(cun)功能,支(zhi)持(chi)對請(qing)(qing)求地址設(she)置(zhi)緩(huan)(huan)存(cun)訪問(wen),并設(she)置(zhi)有效期。
| 版本 | 新增功能 |
|---|---|
| 5.0.11 | 請求緩存支持緩存標簽 |
| 5.0.6 | 全局請求緩存支持排除規則 |
| 5.0.4 | 請求緩存支持模塊單獨開啟 |
| 5.0.3 | 增加全局請求緩存支持 |
請求緩(huan)存僅對GET請求有(you)效,有(you)兩種(zhong)方式可(ke)以設置請求緩(huan)存:
路由參數
可以在路由規則里面定義cache參數開啟當前路由規則的請求緩(huan)存,例(li)如:
// 定義GET請求路由(you)規則 并設置3600秒(miao)的緩存
Route::get('new/:id','News/read',['cache'=>3600]);
第二次訪問相同的路由地址的時候,會自動獲取請求緩存的數據響應輸出,并發送304狀態碼。
默認請求緩存的標識為當前訪問的pathinfo地址,可以定義請求緩存的標識,如下:
// 定義(yi)GET請求路由規(gui)則 并設置3600秒的緩存
Route::get('new/:id','News/read',[
'cache' => [ 'new/:id/:page',3600]
]);
:id、:page表示使用(yong)當前(qian)請(qing)求(qiu)的param參數進(jin)行動態標識替換,也就是(shi)根據id和page變量進(jin)行3600秒的請(qing)求(qiu)緩存。
如果cache參數傳入false,則表示關閉當前路(lu)由的請(qing)求緩存(cun)(即使開啟(qi)全局請(qing)求緩存(cun))。
V5.0.11+版本開始,請(qing)求緩(huan)存設置(zhi)支(zhi)持(chi)緩(huan)存標(biao)簽參數(shu)
// 定義GET請求路由規則 并設(she)置3600秒的緩存(cun)
Route::get('new/:id','News/read',[
'cache' => [ 'new/:id/:page',3600,'news']
]);
動態設置
可以在app_begin行為(wei)里面動態設置請求(qiu)緩存(cun),例如(ru):
Request::instance()->cache('blog/:id',3600);
表示對blog/:id定義的動態訪問(wen)地址進行3600秒(miao)的請求緩存。
變(bian)量支持當前的請求變(bian)量(也就是(shi)param方法的所有變(bian)量)。
可以使(shi)用(yong)當前的URL地(di)址作為緩(huan)存標(biao)識(shi),如下:
Request::instance()->cache('__URL__',600);
支(zhi)持對(dui)某個URL后(hou)綴的請求進行緩(huan)存(cun),例如:
Request::instance()->cache('[html]',600);
表示對所有的html后綴訪(fang)問(GET)請(qing)求進(jin)行(xing)10分鐘的緩存(cun)。
V5.0.11+版本開始支持緩存標(biao)簽(qian)設置
Request::instance()->cache('blog/:id',600,'blog');
V5.0.3+版本增加了請求緩存自動判(pan)斷,只需要在配置文件中開啟:
'request_cache' => true,
'request_cache_expire' => 3600,
就會自(zi)動根據當前請(qing)求(qiu)URL地址(只針對GET請(qing)求(qiu)類型)進行請(qing)求(qiu)緩存,全局緩存有效期為3600秒。
V5.0.4+版(ban)本開始(shi)可以在模塊配置中單(dan)獨(du)設置開啟請(qing)求緩存。
路由中(zhong)設置(zhi)的請求緩存依然(ran)有(you)效并且優先。
V5.0.6+版(ban)本開始,全局請求緩(huan)存支(zhi)持設置排(pai)除規則,使用(yong)方法如下:
'request_cache' => true,
'request_cache_expire' => 3600,
'request_cache_except' => [
'/blog/index',
'/user/member'
],
request_cache_except設置的規則為不使用(yong)請(qing)求緩(huan)存的地址(不支持(chi)變量(liang))開(kai)頭部分。
