Associate cache frontends with cache types
Overview of Magento caching
Magento enables you to configure alternatives to the default file system caching. This guide discusses some of those alternatives; namely,
Set up the following cache mechanisms in the Magento configuration:
Set up the Varnish without modifying the Magento configuration.
We'll periodically add more cache alternatives so watch this space.
Magento uses the following caching terminology:
- Frontend: Similar to an interface or gateway to cache storage, implemented by Magento\Framework\Cache\Frontend.
- Cache types: Can be one of the types provided with Magento or you can create your own.
- Backend: Specifies details about cache storage, implemented by Magento\Framework\Cache\Backend
Two-level backend: Stores cache records in two backends—a faster one and a slower one.
Two-level backend cache configuration is beyond the scope of this guide at this time.
This topic discusses the following options for configuring caching:
- Modifying the provided
defaultcache frontend, which means you modify only
<your Magento install dir>/app/etc/di.xml(the Magento application’s global dependency injection configuration)
- Configuring your own custom cache frontend, which means you modify only
<your Magento install dir>/app/etc/env.phpbecause it overrides the equivalent configuration in
Varnish requires no changes to the Magento configuration. For more information, see Configure and use Varnish.
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
The following example shows how to define it in
env.php (which overrides
<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
di.xml. This task is optional.
<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_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_value>are the name and value of options the Magento framework passes as an associative array to backend cache upon its creation.