Maison > cadre php > Laravel > Explication détaillée du mécanisme de cache PHP Laravel

Explication détaillée du mécanisme de cache PHP Laravel

WBOY
Libérer: 2022-11-01 15:24:51
avant
1575 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur laravel, qui présente principalement le cache de Laravel qui nous fournit trois mécanismes de mise en cache : Redis, memcache et le contenu associé du cache de fichiers du framework, comme suit : Jetons un coup d'œil , j'espère que cela aidera tout le monde.

【Recommandation associée : tutoriel vidéo laravel

Le cache dans Laravel nous fournit trois mécanismes de mise en cache.

Redis, memcache et cache de fichiers de framework.

La principale chose à regarder ici est le cache de fichiers dans le cache.

1. Accédez à plusieurs magasins de cache

En utilisant la façade Cache, vous pouvez utiliser la méthode store pour accéder à différents magasins de cache. La clé transmise dans la méthode store est le tableau de configuration stores dans le . cache fichier de configuration. La mémoire correspondante répertoriée dans :

$value = Cache::store('file')->get('foo');
Cache::store('redis')->put('bar', 'baz', 600);  // 10分钟
Copier après la connexion

2. Récupérez les données du cache

1 Récupérez les données et définissez la valeur par défaut

(1) : valeur normale

$value = Cache::get('key');
Copier après la connexion

(2. ) : s'il n'existe pas, avec la valeur par défaut

$value = Cache::get('key', 'default');
Copier après la connexion

(3) : Utiliser l'opération de fermeture, avec la valeur par défaut

$value = Cache::get('key', function() {
    return DB::table(...)->get();
});
Copier après la connexion

2 Vérifiez si l'élément du cache existe

has méthode est utilisée pour déterminer si le cache. l'élément existe, si la valeur est nulle ou fausse. Cette méthode retournera faux :

if (Cache::has('key')) {
    //
}
Copier après la connexion

3. Les méthodes d'augmentation/diminution de valeur

d'incrémentation et de décrémentation peuvent être utilisées pour ajuster la valeur entière dans le cache. Les deux méthodes peuvent recevoir un deuxième paramètre pour spécifier le nombre d'incréments et de décréments dans la valeur de l'élément de cache :

Cache::increment('key');
Cache::increment('key', $amount);
Cache::decrement('key');
Cache::decrement('key', $amount);
Copier après la connexion

4 Get & Store

Parfois, vous souhaiterez peut-être obtenir l'élément de cache, mais si l'élément de cache demandé n'existe pas. Stockez-le avec une valeur par défaut. Par exemple, vous souhaiterez peut-être récupérer tous les utilisateurs du cache, ou s'ils n'existent pas, les récupérer de la base de données et les ajouter au cache, vous pouvez le faire en utilisant la méthode Cache::remember :

$value = Cache::remember('users', $seconds, function() {
    return DB::table('users')->get();
});
Copier après la connexion

Si l'élément de cache n'existe pas. S'il est présent, la fermeture passée à la méthode Remember est exécutée et le résultat est stocké dans le cache.

Vous pouvez également utiliser la méthode RememberForever pour extraire des données du cache ou les stocker de manière permanente :

$value = Cache::rememberForever('users', function() {
    return DB::table('users')->get();
});
Copier après la connexion

5. Obtenir et supprimer

Si vous avez besoin d'extraire un élément du cache, puis de le supprimer, vous pouvez utiliser la méthode RememberForever. pull et get La méthode est la même, si l'élément du cache n'existe pas, renvoie null :

$value = Cache::pull('key');
Copier après la connexion

3. Stockez les données dans le cache

1 Récupérez les données stockées

Vous pouvez utiliser la méthode put sur le. Façade de cache pour stocker les données dans le cache. Lorsque vous stockez des données dans le cache, vous devez spécifier la durée (en secondes) de mise en cache des données :

Cache::put('key', 'value', $seconds);
Copier après la connexion

Si aucune durée de cache n'est transmise à la méthode put, l'élément du cache est valide en permanence :

Cache::put('key', 'value');
Copier après la connexion

In En plus de transmettre le délai d'expiration de l'élément de cache, vous pouvez également transmettre une instance PHP Datetime qui représente la durée de validité de l'élément de cache :

$expiresAt = Carbon::now()->addMinutes(10);
Cache::put('key', 'value', $expiresAt);
Copier après la connexion

2. Stocker les données lorsque le cache n'existe pas

La méthode add ajoutera uniquement des données à le cache si l'élément du cache n'existe pas, si les données sont ajoutées avec succès, renvoyez true au cache, sinon, renvoyez false :

Cache::add('key', 'value', $seconds);
Copier après la connexion

3. Stocker les données de manière permanente

forever est utilisée pour stocker les données de manière persistante dans le cache. les valeurs​​doivent être manuellement supprimées du cache via la méthode Forget :

Cache::forever('key', 'value');
Copier après la connexion

4. De Pour supprimer des données du cache

Vous pouvez utiliser la méthode Forget sur la façade du Cache pour supprimer les données des éléments du cache du cache :

Cache::forget('key');
Copier après la connexion

Vous pouvez également supprimer les éléments du cache en définissant la période de validité du cache sur 0 ou sur un nombre négatif :

Cache::put('key', 'value', 0);
 
Cache::put('key', 'value', -5);
Copier après la connexion

Si vous souhaitez tout effacer, la mise en cache peut être effectuée via la méthode flush :

Cache::flush();
Copier après la connexion

Ce qui précède explique essentiellement comment le laravel le framework fonctionne sur la mise en cache de fichiers

[Recommandations associées : tutoriel vidéo 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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal