設定快取前端
快取前端是Commerce與快取儲存後端之間的介面。 您可以定義多個前端,每個前端都有不同的後端設定,然後將特定的快取型別指派給每個前端。
如果您想要針對不同型別的快取資料使用不同的快取後端或設定,這會很有用。 例如,您可能會想要在專用的Redis資料庫上進行full_page快取,同時使用單獨的資料庫進行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)
redis、valkey或file等簡化的後端型別與現代Symfony快取實作搭配使用。 請參閱使用Redis作為預設快取和使用Valkey作為預設快取以取得詳細資料。步驟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' => 'redis'(建議用於Commerce 2.4.9+)
請參閱Laminas檔案以瞭解Zend型選項,或是Redis與Valkey的現代Symfony快取指南。