L2-cacheconfiguratie
Het in cache plaatsen maakt het mogelijk het netwerkverkeer tussen de externe cacheopslag en de Commerce-toepassing te verminderen. Een standaard Commerce-instantie brengt ongeveer 300 kB per aanvraag over en het verkeer kan in sommige situaties snel toenemen tot meer dan ~1000 verzoeken.
Als u de netwerkbandbreedte voor Redis wilt verminderen, slaat u cachegegevens lokaal op elk webknooppunt op en gebruikt u de externe cache voor twee doeleinden:
- Controleer de versie van de cachegegevens en zorg ervoor dat de nieuwste cache lokaal wordt opgeslagen
 - De nieuwste cache overbrengen van de externe computer naar de lokale computer
 
Commerce slaat de gehakte gegevensversie in Redis op, met het achtervoegsel ":hash"toegevoegd aan de regelmatige sleutel. Als er een verouderde lokale cache is, worden de gegevens overgebracht naar de lokale computer met een cacheadapter.
Voorbeeld van configuratie
In het volgende voorbeeld kunt u de bestaande cachesectie in het app/etc/env.php -bestand wijzigen of vervangen.
'cache' => [
    'frontend' => [
        'default' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ]
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ]
    ],
    'type' => [
        'default' => ['frontend' => 'default'],
    ],
],
            Waarbij:
- 
                  
backendis de L2 cache-implementatie. - 
                  
backend_optionsis de L2-cacheconfiguratie.remote_backendis de implementatie van de externe cache: Redis of MySQL.remote_backend_optionsis de configuratie van de externe cache.local_backendis de lokale cache-implementatie:Cm_Cache_Backend_Filelocal_backend_optionsis de lokale cacheconfiguratie.cache_diris een bestandcache-specifieke optie voor de map waarin de lokale cache is opgeslagen.
 
Adobe raadt u aan Redis te gebruiken voor externe caching (\Magento\Framework\Cache\Backend\Redis) en Cm_Cache_Backend_File voor het lokaal in cache plaatsen van gegevens in gedeeld geheugen, met: 'local_backend_options' => ['cache_dir' => '/dev/shm/']
Adobe raadt het gebruik van de functie cache preload aan, omdat deze de druk op Redis drastisch verlaagt. Vergeet niet om het achtervoegsel ":hash"voor preload sleutels toe te voegen.
Cacheopties voor stijl
Vanaf Commerce 2.4 kan de optie use_stale_cache in bepaalde gevallen de prestaties verbeteren.
Over het algemeen, is de handel-off met vergrendelingswachten aanvaardbaar van de prestatieskant, maar groter het aantal Blokken of Geheime voorgeheugen de handelaar heeft, meer tijd wordt besteed die op sloten wacht. In sommige scenario's, kunt u a aantallen sleutels * raadplegingstijd hoeveelheid tijd voor het proces wachten. In sommige zeldzame gevallen kan de handelaar honderden sleutels in het Block/Config geheime voorgeheugen hebben, zodat zelfs kleine raadplegingstijd voor slot seconden kan kosten.
Stale cache werkt alleen met een L2-cache. Met een verouderde cache kunt u een verouderde cache verzenden, terwijl een nieuwe cache parallel wordt gegenereerd. Als u verouderde cache wilt inschakelen, voegt u 'use_stale_cache' => true toe aan de bovenste configuratie van de L2-cache.
Adobe raadt aan de optie use_stale_cache alleen in te schakelen voor cachetypen die er het meest van profiteren, zoals:
block_htmlconfig_integration_apiconfig_integrationfull_pagelayoutreflectiontranslate
Adobe raadt u niet aan de optie use_stale_cache voor het cachetype default in te schakelen.
De volgende code toont een voorbeeldconfiguratie:
'cache' => [
    'frontend' => [
        'default' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ]
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ],
         'stale_cache_enabled' => [
            'backend' => '\\Magento\\Framework\\Cache\\Backend\\RemoteSynchronizedCache',
            'backend_options' => [
                'remote_backend' => '\\Magento\\Framework\\Cache\\Backend\\Redis',
                'remote_backend_options' => [
                    'persistent' => 0,
                    'server' => 'localhost',
                    'database' => '0',
                    'port' => '6379',
                    'password' => '',
                    'compress_data' => '1',
                ],
                'local_backend' => 'Cm_Cache_Backend_File',
                'local_backend_options' => [
                    'cache_dir' => '/dev/shm/'
                ],
                'use_stale_cache' => true,
            ],
            'frontend_options' => [
                'write_control' => false,
            ],
        ]
    ],
    'type' => [
        'default' => ['frontend' => 'default'],
        'layout' => ['frontend' => 'stale_cache_enabled'],
        'block_html' => ['frontend' => 'stale_cache_enabled'],
        'reflection' => ['frontend' => 'stale_cache_enabled'],
        'config_integration' => ['frontend' => 'stale_cache_enabled'],
        'config_integration_api' => ['frontend' => 'stale_cache_enabled'],
        'full_page' => ['frontend' => 'stale_cache_enabled'],
        'translate' => ['frontend' => 'stale_cache_enabled']
    ],
],