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