路由緩存提升效率
路由快取
因為新增了一層對映, 所以路由會有效率損失, 將路由快取是個好主意
#在定義了大量的路由規則之後,開啟該快取可以明顯提昇路由解析效能,而且路由規則越多越明顯(僅在部署模式下有效)。
在路由設定檔中設定開啟:
'route_check_cache' => true,
開啟後,會自動對每次的路由要求的調度進行緩存,第二次如果是相同的請求則無需再次經過路由解析,而是直接進行請求調度。
預設情況下的路由快取標識是目前的請求類型和包含網域的BaseUrl,如果你的路由參數偵測比較複雜,例如包含了ajax/pjax偵測的話,需要自訂路由快取的標識,透過下面的方式:
'route_check_cache_key' => function($request) { return md5($request->url(true) . ':' . $request->method() . ':' . ($request->isAjax() ? 1 : 0)); },
路由快取支援所有的請求類型。
如果你更改了某個路由規則的路由位址,則需要清理路由快取才能生效,可以使用下面的指令清理路由快取。
>php think clear --route