Configurar front-end de caché

Un front-end de caché es una interfaz entre Commerce y el back-end de almacenamiento de caché. Puede definir varios front-end, cada uno con una configuración de back-end diferente, y luego asignar tipos de caché específicos a cada front-end.

Esto resulta útil cuando desea utilizar diferentes backends o configuraciones de caché para diferentes tipos de datos en caché. Por ejemplo, es posible que desee el almacenamiento en caché de full_page en una base de datos Redis dedicada mientras utiliza una base de datos independiente para el almacenamiento en caché de default.

Usar el front-end predeterminado

Commerce proporciona un front-end de caché default que funciona para todos los tipos de caché. Amplía Zend_Cache_Core al implementar la caché de front-end Magento\Framework\Cache\Core.

En la mayoría de los casos, no es necesario personalizar el front-end. Solo es necesario configurar el servidor. Consulte Opciones de servidor de caché.

Definir un front-end de caché personalizado

A continuación se describen los pasos para asociar un front-end de caché con un tipo de caché.

Paso 1: Definir un front-end de caché y asignar tipos de caché

Para definir un front-end de caché personalizado, agregue la configuración a app/etc/env.php (que invalida di.xml):

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

Donde:

  • <unique frontend id>: un nombre único para identificar el front-end (por ejemplo, default, page_cache, stale_cache_enabled)
  • <cache options>: tipo de servidor y opciones para este front-end (consulte Opciones de caché)
  • <cache type>: un tipo de caché de Commerce para asignar a este front-end (por ejemplo, config, layout, block_html, full_page)
TIP
Implementación moderna de Symfony Cache (2.4.9+): A partir de Commerce 2.4.9, puede usar tipos de backend simplificados como redis, valkey o file con la implementación moderna de Symfony Cache. Consulte Usar Redis para la caché predeterminada y Usar Valkey para la caché predeterminada para obtener más información.

Paso 2: Configurar las opciones de front-end y back-end

Puede especificar opciones de configuración de caché de front-end y back-end en env.php o di.xml. Esta tarea es opcional. Si no especifica opciones, Commerce utiliza la configuración predeterminada de front-end y back-end.

env.php ejemplo:

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

Donde:

  • <frontend_type>: el tipo de caché de nivel inferior de front-end. Especifique un nombre de clase compatible con Zend\Cache\Core.
    Si se omite, se usa Magento\Framework\Cache\Core.

  • <frontend_option>, <frontend_option_value>: el nombre y valor de las opciones que el marco de trabajo de Commerce pasa como una matriz asociativa a la caché de front-end en el momento de la creación.

  • <backend_type>: el tipo de caché de servidor de nivel bajo. Puede especificar:

    • Caché Symfony moderna (2.4.9+, recomendada): Nombres simplificados como redis, valkey o file
    • Heredado (basado en Zend): Nombre de clase completo compatible con Zend_Cache_Backend que implementa Zend_Cache_Backend_Interface
  • <backend_option>, <backend_option_value>: nombre y valor de las opciones que el marco de trabajo de Commerce pasa como una matriz asociativa a la caché back-end al crearla.

NOTE
Implementación heredada frente a moderna:
  • Heredado (basado en Zend): 'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis'
  • Moderno (caché de Symfony): 'backend' => 'redis' (recomendado para Commerce 2.4.9+)
La implementación moderna de Symfony Cache proporciona un mejor rendimiento a través del cumplimiento de PSR-6, serialización Igbinary, compresión gzip, scripts Lua y conexiones persistentes.

Consulte la documentación de Laminas para ver las opciones basadas en Zend o las modernas guías de Symfony Cache para Redis y Valkey.

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