캐시 프론트엔드 구성

캐시 프론트엔드는 Commerce과 캐시 스토리지 백엔드 간의 인터페이스입니다. 각각 다른 백엔드 설정을 사용하는 여러 프론트엔드를 정의한 다음 각 프론트엔드에 특정 캐시 유형을(를) 할당할 수 있습니다.

이 기능은 캐시된 데이터의 여러 유형에 대해 서로 다른 캐시 백엔드 또는 구성을 사용하려는 경우에 유용합니다. 예를 들어 default 캐싱에 대해 별도의 데이터베이스를 사용하는 동안 전용 Redis 데이터베이스에서 full_page을(를) 캐싱할 수 있습니다.

기본 프론트엔드 사용

Commerce은 모든 캐시 유형에 대해 작동하는 default 캐시 프런트 엔드를 제공합니다. Magento\Framework\Cache\Core 프런트 엔드 캐시를 구현하여 Zend_Cache_Core을(를) 확장합니다.

대부분의 경우 프론트엔드를 사용자 지정할 필요가 없습니다. 백엔드를 구성하기만 하면 됩니다. 캐시 백 엔드 옵션을 참조하십시오.

사용자 지정 캐시 프론트엔드 정의

다음 단계는 캐시 프론트엔드를 캐시 유형과 연결하는 단계입니다.

1단계: 캐시 프론트엔드 정의 및 캐시 유형 할당

사용자 지정 캐시 프론트엔드를 정의하려면 di.xml을(를) 재정의하는 app/etc/env.php에 구성을 추가하십시오.

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

위치:

  • <unique frontend id> — 프론트엔드를 식별하는 고유한 이름(예: default, page_cache, stale_cache_enabled)
  • <cache options> — 이 프론트엔드에 대한 백엔드 유형 및 옵션(캐시 옵션 참조)
  • <cache type> — 이 프런트 엔드에 할당할 Commerce 캐시 유형(예: config, layout, block_html, full_page)
TIP
최신 Symfony 캐시 구현(2.4.9+): Commerce 2.4.9부터 redis, valkey 또는 file과 같은 간소화된 백엔드 유형을 최신 Symfony 캐시 구현에서 사용할 수 있습니다. 자세한 내용은 기본 캐시에 Redis 사용기본 캐시에 Valkey 사용을 참조하십시오.

2단계: 프론트엔드 및 백엔드 옵션 구성

env.php 또는 di.xml에서 프론트엔드 및 백 엔드 캐시 구성 옵션을 지정할 수 있습니다. 이 작업은 선택 사항입니다. 옵션을 지정하지 않으면 Commerce에서는 기본 프론트엔드 및 백엔드 설정을 사용합니다.

env.php 예:

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

위치:

  • <frontend_type> — 낮은 수준의 프런트 엔드 캐시 유형입니다. Zend\Cache\Core과(와) 호환되는 클래스 이름을 지정하십시오.
    생략하면 Magento\Framework\Cache\Core이(가) 사용됩니다.

  • <frontend_option>, <frontend_option_value> — Commerce 프레임워크가 생성 시 프론트엔드 캐시에 연관 배열로 전달하는 옵션의 이름과 값입니다.

  • <backend_type> — 낮은 수준의 백엔드 캐시 유형입니다. 다음을 지정할 수 있습니다.

    • 최신 Symfony 캐시(2.4.9+, 권장): redis, valkey 또는 file과(와) 같이 간단한 이름
    • 레거시(Zend 기반): Zend_Cache_Backend_Interface을(를) 구현하는 Zend_Cache_Backend과(와) 호환되는 전체 클래스 이름
  • <backend_option>, <backend_option_value> — Commerce 프레임워크가 생성 시 연관 배열로 백엔드 캐시에 전달하는 옵션의 이름 및 값입니다.

NOTE
기존 구현과 최신 구현:
  • 레거시(Zend 기반): 'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis'
  • 최신(Symfony 캐시): 'backend' => 'redis'(Commerce 2.4.9+에 권장)
최신 Symfony 캐시 구현은 PSR-6 준수, Igbinary serialization, gzip 압축, Lua 스크립트 및 영구 연결을 통해 더 나은 성능을 제공합니다.

Zend 기반 옵션에 대한 Laminas 설명서 또는 RedisValkey에 대한 최신 Symfony 캐시 안내서를 참조하십시오.

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