Configurare i front-end della cache

Un front-end della cache è un’interfaccia tra Commerce e il back-end di archiviazione della cache. È possibile definire più front-end, ciascuno con impostazioni di back-end diverse, quindi assegnare tipi di cache specifici a ogni front-end.

Questa funzione è utile quando si desidera utilizzare back-end o configurazioni di cache diversi per tipi diversi di dati memorizzati nella cache. Ad esempio, potrebbe essere necessario memorizzare full_page nella cache di un database Redis dedicato mentre si utilizza un database separato per la memorizzazione nella cache di default.

Usa front-end predefinito

Commerce fornisce una cache front-end default che funziona per tutti i tipi di cache. Estende Zend_Cache_Core implementando la cache front-end Magento\Framework\Cache\Core.

Nella maggior parte dei casi, non è necessario personalizzare il front-end. Devi solo configurare il backend. Consulta Opzioni di back-end della cache.

Definire un front-end di cache personalizzato

I passaggi seguenti descrivono come associare una cache front-end a un tipo di cache.

Passaggio 1: definire un front-end della cache e assegnare tipi di cache

Per definire una cache front-end personalizzata, aggiungere la configurazione a app/etc/env.php (che sostituisce di.xml):

'cache' => [
    'frontend' => [
        '<unique frontend id>' => [
             <cache options>
        ],
    ],
    'type' => [
         <cache type 1> => [
             'frontend' => '<unique frontend id>'
        ],
         <cache type 2> => [
             'frontend' => '<unique frontend id>'
        ],
    ],
],

Dove:

  • <unique frontend id> — Nome univoco per identificare il front-end (ad esempio default, page_cache, stale_cache_enabled)
  • <cache options> — Tipo di back-end e opzioni per questo front-end (vedere Opzioni cache)
  • <cache type>: tipo di cache di Commerce da assegnare a questo front-end (ad esempio, config, layout, block_html, full_page)
TIP
Implementazione moderna di Symfony Cache (2.4.9+): A partire da Commerce 2.4.9, è possibile utilizzare tipi di back-end semplificati come redis, valkey o file con la moderna implementazione di Symfony Cache. Per ulteriori dettagli, vedere Utilizzare Redis per la cache predefinita e Utilizzare Valkey per la cache predefinita.

Passaggio 2: configurare le opzioni front-end e back-end

È possibile specificare le opzioni di configurazione della cache front-end e back-end in env.php o di.xml. Questa attività è facoltativa. Se non si specificano opzioni, Commerce utilizza le impostazioni predefinite front-end e back-end.

env.php esempio:

'frontend' => <frontend_type>,
'frontend_options' => [
    <frontend_option> => <frontend_option_value>,
    ...
],
'backend' => <backend_type>,
'backend_options' => [
    <backend_option> => <backend_option_value>,
    ...
],

Dove:

  • <frontend_type>: tipo di cache front-end di basso livello. Specificare un nome di classe compatibile con Zend\Cache\Core.
    Se omesso, verrà utilizzato Magento\Framework\Cache\Core.

  • <frontend_option>, <frontend_option_value> - Nome e valore delle opzioni passate dal framework Commerce come array associativo alla cache front-end durante la creazione.

  • <backend_type>: tipo di cache di back-end di basso livello. Puoi specificare:

    • Cache Symfony moderna (2.4.9+, consigliata): nomi semplificati come redis, valkey o file
    • Legacy (basato su Zend): nome completo della classe compatibile con Zend_Cache_Backend che implementa Zend_Cache_Backend_Interface
  • <backend_option>, <backend_option_value>: nome e valore delle opzioni passate dal framework Commerce come array associativo alla cache back-end durante la creazione.

NOTE
Implementazione legacy e moderna:
  • Legacy (basato su Zend): 'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis'
  • Moderno (cache Symfony): 'backend' => 'redis' (consigliato per Commerce 2.4.9+)
La moderna implementazione della cache di Symfony offre prestazioni migliori grazie alla conformità PSR-6, alla serializzazione Igbinary, alla compressione Gzip, agli script Lua e alle connessioni persistenti.

Consulta la documentazione Laminas per le opzioni basate su Zend o le guide moderne di Symfony Cache per Redis e Valkey.

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