Cache

Tous nos billets sur le thème Cache

Invalidate the page cache according to a duration with Drupal 8

For some purposes it may be necessary to have content, or content elements, that may vary according to a certain time period, and therefore require a cache invalidation according to a certain duration. This is for example the typical case of a list of future and/or past events, which must invariably change over time.

Drupal 8 has three cache systems:

Invalider le cache des pages en fonction d'une durée avec Drupal 8

Pour certains besoins il peut être nécessaire de disposer de contenus, ou d'éléments de contenu, qui puissent varier selon une certaine durée de temps écoulée, et donc qui nécessitent une invalidation du cache en fonction d'une certaine durée. C'est par exemple le cas typique d'une liste des événements futurs et/ou passés, liste qui doit varier invariablement avec le temps. Regardons comment utiliser une solution alternative pour procéder à une invalidation de cache selon un critère de temps.

A cache example in action with Drupal 8

As we say in terms of computer programming, only two things are extremely complex: naming variables and invalidating the cache. Drupal 8 has an automatic caching system activated by default that is truly revolutionary, which makes it possible to offer a cache for anonymous visitors and especially for authenticated users without any configuration. This cache system is based on three basic concepts:

Un exemple de cache en action avec Drupal 8

Comme on dit en matière de programmation informatique, seules deux choses sont extrêmement complexes : le nommage des variables et l'invalidation du cache. Drupal 8 dispose d'un système de cache automatique activée par défaut proprement révolutionnaire qui permet de proposer un cache pour les visiteurs anonymes et aussi surtout pour des utilisateurs authentifiés et ceci sans aucune configuration. Mais le propos de ce billet n'est pas de rentrer dans le détail de ce système de cache, mais plutôt d'illustrer l'utilisation de la cache API permettant de mettre en place son propre cache pour un cas d'usage bien précis.

Filtrer des contenus par année avec Views sur Drupal 8

Il n'est pas rare de devoir proposer de filtrer certains contenus en fonction de dates, et notamment en fonction de l'année. Comment filtrer des contenus depuis une vue selon les années basées sur un champ date ? Nous disposons d'une solution immédiate en utilisant les modules Search API couplé à Facets. Mais si on ne dispose pas de ces deux modules pour d'autres raisons, cela peut être dommage de les installer juste pour cela. On peut arriver à nos fins assez rapidement avec une option native à Views, les arguments contextuels. Découvrons en quelques images comment y arriver.

Render programmatically a unique field from a node or an entity with Drupal 8

It may sometimes be necessary to render a single field of a content or entity. For example, for a simplified display of contents relating to the content consulted, the use of specific fields in other contexts, etc. Obtaining programmatically the rendering of a field may be problematic for the Drupal 8 cache invalidation system, since the resulting render array would not contain the cache tags of the source entity. Let's take a look at some solutions available to us.

Afficher un champ individuel d'un contenu avec Drupal 8

On peut avoir besoin parfois d'obtenir le rendu HTML d'un unique champ d'un contenu ou d'une entité. Par exemple pour un affichage simplifié de contenus relatifs au contenu consulté, l'utilisation de champs spécifiques dans d'autres contextes, etc. Mais obtenir de façon programmatique le rendu d'un champ peut être problématique pour tout le système d'invalidation des caches de Drupal 8. Parcourons quelques solutions à notre disposition pour parvenir à nos fins.

Purge sélective avec Drupal des pages mises en cache par Nginx

Le serveur Web Nginx dispose d'un système de cache qui permet d'accélérer considérablement la vitesse de chargement des pages de votre site Internet, Drupal ou tout autre CMS, et bien sûr de servir un bien plus grand nombre de visiteurs simultanés. La durée pendant laquelle les pages de votre site sont servies depuis le cache de Nginx, et non depuis une requête sur votre site web, est configurée au niveau du serveur web.

Améliorer les performances de Drupal avec Nginx

Plusieurs alternatives sont possibles pour accélérer Drupal et booster ses performances, notamment pour les visiteurs anonymes. Quels sont les atouts des différentes solutions possibles ? On peut mettre en place une solution de type reverse proxy cache, comme le très connu Varnish, ou utiliser Nginx et son puissant système de cache pour propulser directement votre site Web Drupal. Découvrez les performances de chacune de ces solutions et leurs atouts respectifs.