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 exempeldefault,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 exempelconfig,layout,block_html,full_page)
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 medZend\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,valkeyellerfile - Äldre (Zend-based): Fullständigt klassnamn som är kompatibelt med
Zend_Cache_Backendsom implementerarZend_Cache_Backend_Interface
- Modern synkroniseringscache (2.4.9+, rekommenderas): Förenklade namn som
-
<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.
- Äldre (Zend-based):
'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis' - Modern (Symfony Cache):
'backend' => 'redis'(rekommenderas för Commerce 2.4.9+)
Se Laminas-dokumentationen för Zend-baserade alternativ eller de moderna Symfony Cache-guiderna för Redis och Valkey.