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.
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 plus en profondeur et avec des exemples concrets : https://laraveleco.com/cache-flexible-method-of-laravel /
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3