Configurar tipos y front-end de caché

Un front-end de caché es una interfaz entre los tipos de caché de 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.

Utilice esta relación para decidir dónde almacena datos cada tipo de caché:

cache type -> cache frontend -> cache backend

Esto resulta útil cuando desea utilizar diferentes backends o configuraciones de caché para diferentes tipos de datos en caché. Por ejemplo, podría asignar el tipo de caché full_page a un front-end page_cache que use una base de datos de Valkey dedicada, mientras que otros tipos de caché usan el front-end default.

NOTE
Para Adobe Commerce en proyectos en la nube, consulte Prácticas recomendadas para la configuración de los servicios Redis y Valkey para obtener instrucciones de configuración de la caché.

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
Adobe Commerce 2.4.9 y versiones posteriores utilizan nombres de tipo de back-end simplificados, como valkey o file, con la implementación de Symfony Cache. Consulte Opciones de back-end de caché para ver ejemplos de back-end e instrucciones específicas de la versió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 usará 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 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 (Symfony Cache): 'backend' => 'valkey' para las versiones de Commerce 2.4.9+ y las revisiones actuales para las líneas de versión 2.4.5 - 2.4.8 donde Valkey es el servidor de caché compatible.
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. Para obtener información sobre la configuración de la caché de Symfony, consulte los artículos Redis y Valkey de esta documentación.

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