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

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

WBOY
WBOYavant
2022-11-01 15:24:511461parcourir

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分钟

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');

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

$value = Cache::get('key', 'default');

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

$value = Cache::get('key', function() {
    return DB::table(...)->get();
});

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')) {
    //
}

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);

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();
});

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();
});

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');

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);

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');

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);

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);

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');

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');

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);

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

Cache::flush();

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer