Introduction to caching
The first thing I would like to mention before getting into the meat of the Cache API is that this subsystem is one of the best documented ones (at the time of writing). You can check out the main entry page (https://www.drupal.org/docs/8/api/cache-api/cache-api) and I recommend keeping it close by when developing. At the time of writing, this was still under the Drupal 8 API section, but as you know, Drupal 9 is Drupal 8.
The cache system in Drupal provides the API needed to handle the creation, storage, and invalidation of cached data. From a storage perspective, it is extensible, allowing us to write our own custom cache backends (CacheBackendInterface
). By default, however, cache data gets stored in the database and hence the default backend is DatabaseBackend
. Going forward, we will focus only on this implementation since it is the most commonly used one, especially when starting a new project. Quite often though, once the site becomes more complex,...