Há muito tráfego em sua loja? Sempre se perguntou por que suas páginas de categoria são lentas, exceto nos primeiros 20 segundos? Sim, eu também. Então, como eu suspeitava que a documentação do Shopware não falaria sobre isso, comecei a pesquisar intuitivamente no código e encontrei isso aqui:
<?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; } }
Mas existe uma maneira de alterar o valor de invalidação do cache por meio da configuração? Bem, sim, mais ou menos, no arquivo de configuração:
config/packages/shopware.yaml
Você pode definir o parâmetro shopware.cache.invalidation.http_cache ou, melhor ainda, pode redefini-lo.
shopware: cache: invalidation: http_cache: []
E para vê-lo em pleno vigor, você precisa definir em seu arquivo
.env
o parâmetro: SHOPWARE_HTTP_CACHE_ENABLED=1
Mas é preciso dizer que você também precisa verificar seus requisitos. Se você tiver layouts diferentes para grupos de clientes diferentes, o armazenamento em cache poderá interferir em seus requisitos. Após um login ou um produto no carrinho, o contexto muda e você pode ter problemas devido à falta de invalidação do cache.
Portanto, provavelmente você desejará colocar algo como isso aqui no seu config/packages/cacheconfig.yaml, que deve ser criado e descartar a configuração do parâmetro cache.invalidation.http_cache mencionada acima, pois a configuração padrão do Shopware inclui a exceção para o armazenamento em cache http das sessões do carrinho arquivado e do usuário conectado.
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