設定快取前端

快取前端是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> — 識別前端的唯一名稱(例如,defaultpage_cachestale_cache_enabled
  • <cache options> — 此前端的後端型別和選項(請參閱快取選項
  • <cache type> — 要指派給此前端的Commerce快取型別(例如,configlayoutblock_htmlfull_page
TIP
現代Symfony快取實作(2.4.9+):​從Commerce 2.4.9開始,您可以將redisvalkeyfile等簡化的後端型別與現代Symfony快取實作搭配使用。 請參閱使用Redis作為預設快取使用Valkey作為預設快取以取得詳細資料。

步驟2:設定前端和後端選項

您可以在env.phpdi.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+,建議):簡化名稱,如redisvalkeyfile
    • 舊版(Zend型):與實作Zend_Cache_Backend_InterfaceZend_Cache_Backend相容的完整類別名稱
  • <backend_option><backend_option_value> — Commerce架構在建立時以關聯陣列形式傳遞給後端快取的選項名稱和值。

NOTE
舊版與現代實作:
  • 舊版(Zend型)'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis'
  • 現代(Symfony快取)'backend' => 'redis' (建議用於Commerce 2.4.9+)
現代Symfony快取實作可透過PSR-6法規遵循、Igbinary序列化、gzip壓縮、Lua指令碼和持續連線提供更優異的效能。

請參閱Laminas檔案以瞭解Zend型選項,或是RedisValkey的現代Symfony快取指南。

recommendation-more-help
commerce-operations-help-configuration