¿Mucho tráfico en su tienda? ¿Siempre se ha preguntado por qué sus páginas de categorías son lentas, salvo los primeros 20 segundos? Sí, yo también. Así que, como yo sospechaba, que la documentación Shopware no dice nada al respecto, empecé a buscar intuitivamente en el código y encontré esto aquí en:
<?php declare(strict_types=1); // vendor/shopware/core/Framework/Adapter/Cache/InvalidateCacheTask.php namespace Shopware\Core\Framework\Adapter\Cache; use Shopware\Core\Framework\MessageQueue\ScheduledTask\ScheduledTask; use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface; class InvalidateCacheTask extends ScheduledTask { public static function getTaskName(): string { return 'shopware.invalidate_cache'; } public static function getDefaultInterval(): int { return 20; } public static function shouldRun(ParameterBagInterface $bag): bool { return $bag->get('shopware.cache.invalidation.delay') > 0; } }
Pero, ¿hay alguna forma de cambiar el valor de invalidación de la caché por configuración? Bueno, sí, más o menos, en el archivo de configuración:
config/packages/shopware.yaml
Puedes configurar el parámetro shopware.cache.invalidation.http_cache o mejor dicho puedes restablecerlo.
shopware: cache: invalidation: http_cache: []
Y para verlo en todo su efecto, es necesario establecer en su
.env
el parámetro SHOPWARE_HTTP_CACHE_ENABLED=1
Pero hay que decir que también hay que comprobar los requisitos. Si tiene diferentes diseños para diferentes grupos de clientes, el almacenamiento en caché puede interferir con sus requisitos. Después de un inicio de sesión o un producto en el carro, el contexto cambia, y usted puede tener problemas debido a la falta de invalidación de caché.
Por lo tanto, lo más probable es que desee poner algo como esto aquí en su config/packages/cacheconfig.yaml que debe crear y descartar la configuración del parámetro cache.invalidation.http_cache mencionado anteriormente, ya que la configuración predeterminada de Shopware incluye la excepción de http-caching de las sesiones de usuario archivadas-cart y logueadas.
framework: cache: app: cache.adapter.filesystem pools: cache.property_access: adapter: cache.app cache.serializer: adapter: cache.app cache.annotations: adapter: cache.app cache.property_info: adapter: cache.app cache.messenger: adapter: cache.app cache.object: default_lifetime: 86400 adapter: cache.app tags: cache.tags cache.http: default_lifetime: 86400 adapter: cache.app tags: cache.tags cache.tags: default_lifetime: 7200 adapter: cache.app shopware: cache: invalidation: delay: 0 count: 150 cart: expire_days: 21