Maison  >  Article  >  développement back-end  >  Le nouveau Cache::flexible() de Laravel

Le nouveau Cache::flexible() de Laravel

王林
王林original
2024-09-12 14:15:02777parcourir

The new Cache::flexible() of Laravel

Attendre qu'un grand ensemble de données soit calculé à chaque fois que vous empruntez un itinéraire, c'est nul ! Et les utilisateurs ne veulent pas attendre, tout le monde a une rétention courte de nos jours, nous avons donc corrigé ce problème il y a des années en utilisant Cache. Laravel dispose d'un Cache Fascad pour nous aider à mettre en cache les données, et nous utilisons Cache::remember() qui est une excellente méthode pour mettre en cache certaines données pendant un certain temps jusqu'à leur expiration.

Mais lors d'un événement récent, Laravel a annoncé la nouvelle fonctionnalité à venir dans Cache Fascad appelée "flexible". Il utilise la nouvelle fonction defer() de laravel en arrière-plan.

Comment fonctionne Cache::flexible()

Cache::flexible() est très similaire à Cache::remember() que nous connaissons déjà et a très peu de changements dans les codes mais un impact énorme sur les performances. Vous fournissez deux valeurs pour le temps au lieu de 1 contrairement à Cache::remember().
Si vous dépassez 5 et 10 comme délai pour Cache::flexible(), alors lorsqu'un utilisateur accède ou visite l'itinéraire pour la première fois, l'utilisateur doit attendre que les valeurs soient mises en cache et lorsqu'il continue d'emprunter l'itinéraire dans les 5 secondes. puis il renvoie simplement les valeurs mises en cache de la même manière que Cache::remember(). Mais voici la partie intéressante : si un utilisateur emprunte l'itinéraire dans un délai de 5 à 10 secondes (comme nous l'avons fourni), Laravel fournira toujours les valeurs mises en cache pour la première visite dans ce délai et démarrera un travailleur en arrière-plan pour mettre à nouveau en cache les valeurs. Et lorsque l'utilisateur visite à nouveau l'itinéraire, il obtient des données actualisées mais cette fois sans attendre que les données soient mises en cache ou calculées contrairement à Cache::remember().

Cela peut être difficile à comprendre pour certains d'entre vous, je vous recommande de lire cet article que j'ai écrit à ce sujet de manière plus approfondie et avec des exemples concrets : https://laraveleco.com/cache-flexible-method-of-laravel /

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn