設定快取前端和型別
快取前端是Commerce快取型別與快取儲存後端之間的介面。 您可以定義多個前端,每個前端都有不同的後端設定,然後將特定的快取型別指派給每個前端。
使用此關係來決定每個快取型別儲存資料的位置:
cache type -> cache frontend -> cache backend
如果您想要針對不同型別的快取資料使用不同的快取後端或設定,這會很有用。 例如,您可以將full_page快取型別指派給使用專用Valkey資料庫的page_cache前端,而其他快取型別則使用default前端。
使用預設前端
Commerce提供適用於所有快取型別的default快取前端。 它藉由實作Magento\Framework\Cache\Core前端快取來擴充Zend_Cache_Core。
在大多數情況下,您不需要自訂前端。 您只需要設定後端。 請參閱快取後端選項。
定義自訂快取前端
下列步驟將逐步說明將快取前端與快取型別建立關聯的步驟。
步驟1:定義快取前端並指派快取型別
若要定義自訂快取前端,請將組態新增至app/etc/env.php (覆寫di.xml):
'cache' => [
'frontend' => [
'<unique frontend id>' => [
<cache options>
],
],
'type' => [
<cache type 1> => [
'frontend' => '<unique frontend id>'
],
<cache type 2> => [
'frontend' => '<unique frontend id>'
],
],
],
其中:
<unique frontend id>— 識別前端的唯一名稱(例如,default、page_cache、stale_cache_enabled)<cache options>— 此前端的後端型別和選項(請參閱快取選項)<cache type>— 要指派給此前端的Commerce快取型別(例如,config、layout、block_html、full_page)
步驟2:設定前端和後端選項
您可以在env.php或di.xml中指定前端和後端快取組態選項。 此為選擇性工作。 如果您未指定選項,Commerce會使用預設的前端和後端設定。
env.php範例:
'frontend' => <frontend_type>,
'frontend_options' => [
<frontend_option> => <frontend_option_value>,
...
],
'backend' => <backend_type>,
'backend_options' => [
<backend_option> => <backend_option_value>,
...
],
其中:
-
<frontend_type>— 低階前端快取型別。 指定與Zend\Cache\Core相容的類別名稱。如果省略,則使用Magento\Framework\Cache\Core。 -
<frontend_option>,<frontend_option_value>— Commerce架構在建立時以關聯陣列形式傳遞給前端快取的選項名稱和值。 -
<backend_type>— 低階後端快取型別。 您可以指定:- 現代Symfony快取(2.4.9+,建議):簡化名稱,如
redis、valkey或file - 舊版(Zend型):與實作
Zend_Cache_Backend_Interface的Zend_Cache_Backend相容的完整類別名稱
- 現代Symfony快取(2.4.9+,建議):簡化名稱,如
-
<backend_option>,<backend_option_value>— Commerce架構在建立時以關聯陣列形式傳遞給後端快取的選項名稱和值。
- 舊版(Zend型):
'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis' - 現代(Symfony快取):
'backend' => 'valkey'(適用於Commerce 2.4.9+版和2.4.5 - 2.4.8版本行的最新修補程式版本,其中Valkey是支援的快取後端)。
請參閱Laminas檔案,瞭解Zend型選項。 如需Symfony快取組態,請參閱本檔案中的Redis和Valkey文章。