An Introduction to Caches in Drupal

Session Room
Room 208 (Jakala)
Time Slot
Thu 10:20-11:10
Speaker(s)
lpeidro
Session track
Backend development
Experience level
Beginner
Duration
50 min

Introduction

High-level introduction to caches in Drupal, contextualizing and correlating the diverse caching systems that may come into play in a Drupal site, with the aim of providing a comprehensive and understandable overview of this topic.

Prerequisite

Previous knowledge is not required, as we will start from the very basics, providing a definition of cache and some basic concepts, to gradually move on to more complex topics. However, it is necessary to have had direct contact with Drupal projects to have a context and be familiar with certain terminology.

Learning Objective

  • Having a general and high-level knowledge about caches in Drupal.
  • As a developer and as a site builder, having a more contextualized knowledge regarding caches and being able to identify bugs caused by them.
  • As a manager, acquiring technical knowledge that will be useful in day-to-day work.

Outline

High-level introduction to caches in Drupal, contextualizing and correlating the diverse caching systems that may come into play in a Drupal site.

The main objective of this talk is an overview of the different common cache systems, what they are used for, and how they relate to each other. I will show and talk about code, but we won't focus on it; there is documentation on the internet regarding that.

This is the talk I wish I had received during my early years as a Drupal developer.

Index:

  • General introduction to Caches.
    • Definition. 
    • Purpose. 
    • Caches are everywhere (examples).
    • Basic concepts.
  • PHP: OPcache.
  • Drupal core:
    • Cache Backend:
      • Definition. 
      • Database Backend.    
      • Memory Backend.
      • ChainedFast Backend. 
    • Cache services:
      • Definition.  
      • Database Backend: cache.defatul, cache.entity, cache.menu...
      • ChainedFast Backend: cache.bootstrap, cache.config...
      • Memory Backend: cache.statics
    • Cache API
    • Internal Dynamic Page Cache and Internal Page Cache.
  • In memory caching (Memcached).
  • Caching Proxy (Varnish).
  • CDN.

Speaker

Luis Ruiz Peidro (Spain)

Drupal.org: https://www.drupal.org/u/lpeidro

Linkedin: https://www.linkedin.com/in/luis-ruiz-peidro/

Company I work for: https://metadrop.net/en