Konfigurera cachegränser

En cacheklientserver är ett gränssnitt mellan Commerce och cachelagringsserverdelen. Du kan definiera flera förgreningar, var och en med olika serverdelsinställningar, och sedan tilldela specifika cachetyper till varje förskjutning.

Detta är användbart när du vill använda olika cachebackends eller konfigurationer för olika typer av cachelagrade data. Du kanske till exempel vill full_page cachelagra en dedikerad Redis-databas medan du använder en separat databas för default-cachelagring.

Använd standardförskjutning

Commerce tillhandahåller en default cacheklientserver som fungerar för alla cachetyper. Den utökar Zend_Cache_Core genom att implementera Magento\Framework\Cache\Core-klientcache.

I de flesta fall behöver du inte anpassa förgrunden. Du behöver bara konfigurera serverdelen. Se Alternativ för Cachelagring.

Definiera en anpassad cacheklientstruktur

I följande steg går du igenom hur du kopplar en cacheklientstruktur till en cachetyp.

Steg 1: Definiera en cacheklientmapp och tilldela cachetyper

Om du vill definiera en anpassad cacheklientstruktur lägger du till konfigurationen i app/etc/env.php (som åsidosätter di.xml):

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

Var:

  • <unique frontend id> - Ett unikt namn som identifierar frontend (till exempel default, page_cache, stale_cache_enabled)
  • <cache options> - Backend-typ och alternativ för den här frontend (se Cachealternativ)
  • <cache type> - En cachetyp för Commerce som ska tilldelas den här frontend (till exempel config, layout, block_html, full_page)
TIP
Implementering av modern Symfony Cache (2.4.9+): Från och med Commerce 2.4.9 kan du använda förenklade backend-typer som redis, valkey eller file med den moderna Symfony Cache-implementeringen. Mer information finns i Använd Redis för standardcache och Använd Valkey för standardcache.

Steg 2: Konfigurera alternativ för frontend och backend

Du kan ange konfigurationsalternativ för klientcache och serverdelscache i env.php eller di.xml. Den här uppgiften är valfri. Om du inte anger några alternativ använder Commerce standardinställningarna för frontend och backend.

env.php-exempel:

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

Var:

  • <frontend_type> - Typ av klientcache på låg nivå. Ange ett klassnamn som är kompatibelt med Zend\Cache\Core.
    Om det utelämnas används Magento\Framework\Cache\Core.

  • <frontend_option>, <frontend_option_value> - Namnet och värdet på alternativen som Commerce-ramverket skickar som en associativ array till klientcachelagringen när det skapas.

  • <backend_type> - Backend-cachetypen på låg nivå. Du kan ange:

    • Modern synkroniseringscache (2.4.9+, rekommenderas): Förenklade namn som redis, valkey eller file
    • Äldre (Zend-based): Fullständigt klassnamn som är kompatibelt med Zend_Cache_Backend som implementerar Zend_Cache_Backend_Interface
  • <backend_option>, <backend_option_value> - Namnet på och värdet på alternativen som Commerce-ramverket skickar som en associativ array till serverdelscachen när det skapas.

NOTE
Äldre jämfört med modern implementering:
  • Äldre (Zend-based): 'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis'
  • Modern (Symfony Cache): 'backend' => 'redis' (rekommenderas för Commerce 2.4.9+)
Den moderna Symfony Cache-implementeringen ger bättre prestanda genom PSR-6-kompatibilitet, Igbinär serialisering, gzip-komprimering, Lua-skript och beständiga anslutningar.

Se Laminas-dokumentationen för Zend-baserade alternativ eller de moderna Symfony Cache-guiderna för Redis och Valkey.

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