You are reading the documentation for version 2.2. Magento 2.3 is the latest version available. Ensure you are reading the documentation for your version of Magento.

Associate cache frontends with cache types

Step 1: Define a cache frontend

The Magento application has a default cache frontend you can use for any cache type. This section discusses how to optionally define a cache frontend with a different name, which is preferable if you expect to customize your frontend.

To use the default cache type, you don’t need to modify env.php at all; you modify Magento’s global di.xml. See the topics referenced in Low-level cache options.

You must specify a custom cache frontend either app/etc/env.php or Magento’s global app/etc/di.xml.

The following example shows how to define it in env.php (which overrides di.xml):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
'cache' => [
    'frontend' => [
        '<unique frontend id>' => [
             <cache options>
        ],
    ],
    'type' => [
         <cache type 1> => [
             'frontend' => '<unique frontend id>'
        ],
    ],
    'type' => [
         <cache type 2> => [
             'frontend' => '<unique frontend id>'
        ],
    ],
],

where <unique frontend id> is a unique name to identify your frontend and <cache options> are options discussed in the topics specific to each type of caching (database, Redis, and so on).

Step 2: Configure the cache

You can specify frontend and backend cache configuration options in env.php or di.xml. This task is optional.

env.php example:

1
2
3
4
5
6
7
8
9
10
'frontend' => <frontend_type>,
'frontend_options' => [
    <frontend_option> => <frontend_option_value>,
    ...
],
'backend' => <backend_type>,
'backend_options' => [
    <backend_option> => <backend_option_value>,
    ...
],

where

  • <frontend_type> is the low-level frontend cache type. Specify the name of a class that is compatible with Zend\Cache\Core.

    If you omit <frontend_type>, Magento\Framework\Cache\Core is used.

  • <frontend_option>, <frontend_option_value> are the name and value of options the Magento framework passes as an associative array to the frontend cache upon its creation.
  • <backend_type> is the low-level backend cache type. Specify the name of a class that is compatible with Zend_Cache_Backend and that implements Zend_Cache_Backend_Interface.
  • <backend_option>, <backend_option_value> are the name and value of options the Magento framework passes as an associative array to backend cache upon its creation.

Related topics

Low-level cache options