Laravel est un framework PHP populaire qui fournit des fonctionnalités et des outils riches pour nous aider à créer plus facilement des applications Web efficaces. Une fonction très importante est la mise en cache, qui peut réduire les requêtes de base de données et améliorer la vitesse de réponse des applications en mettant en cache les données réutilisées. Cet article explique comment utiliser la mise en cache dans Laravel.
Laravel fournit une variété de pilotes de cache, notamment des fichiers, des bases de données, Redis, Memcached, etc. Par défaut, Laravel utilise le pilote de fichiers, qui stocke les données mises en cache dans le système de fichiers. Nous pouvons choisir d'autres pilotes de cache en modifiant le fichier de configuration.
Emplacement du fichier de configuration : config/cache.php
Par exemple, si nous voulons utiliser Redis comme pilote de cache, nous pouvons modifier le fichier de configuration comme suit :
'default' => 'redis',
.. .
' redis' => [
'driver' => 'redis', 'connection' => 'default',
],
Lors de l'utilisation de Laravel pour les requêtes de données, nous pouvons réduire le nombre de requêtes de base de données grâce à la mise en cache. Voici un exemple de code :
$users = Cache::remember('users', $minutes, function () {
return DB::table('users')->get();
});
Le code ci-dessus utilise la méthode Cache::remember pour mettre en cache les résultats de la requête. Le premier paramètre est le nom de la clé de cache, le deuxième paramètre est la durée du cache (en minutes) et le troisième paramètre est une fonction de fermeture utilisée pour interroger la base de données et renvoyer les résultats. Si la clé existe dans le cache, les données du cache sont renvoyées ; sinon, la fonction de fermeture est exécutée et le résultat est stocké dans le cache.
Nous pouvons également utiliser la méthode Cache :: put pour stocker directement les données dans le cache, puis utiliser la méthode Cache :: get pour obtenir les données dans le cache. Par exemple :
Cache::put('key', 'value', $minutes);
$value = Cache::get('key');
Si le cache fourni par Laravel Si le pilote ne peut pas répondre aux besoins, nous pouvons implémenter notre propre solution de mise en cache en personnalisant le pilote de cache. Voici un exemple simple :
Tout d'abord, définissez le nouveau pilote de cache dans le fichier config/cache.php :
'custom' => [
'driver' => 'custom', 'connection' => null,
],
Ensuite, dans app/Providers/AppServiceProvider, enregistrez un. pilote personnalisé en php :
utilisez IlluminateSupportFacadesCache ;
utilisez IlluminateSupportServiceProvider ;
class AppServiceProvider extends ServiceProvider
{
public function register() { Cache::extend('custom', function ($app) { return new CustomCacheDriver(); }); }
}
Enfin, implémentez une logique de mise en cache spécifique dans la classe CustomCacheDriver :
utilisez les contrats IlluminateCon CacheStore ;
classe CustomCacheDriver implémente Store
{
public function get($key) { // 获取缓存数据 } public function put($key, $value, $seconds) { // 存储数据到缓存 } // 其他方法...
}
Résumé
Cet article présente l'utilisation de base du cache dans Laravel et la méthode de personnalisation du pilote de cache. En utilisant le cache de manière appropriée, les performances des applications et la vitesse de réponse peuvent être considérablement améliorées. Dans les applications pratiques, nous devons choisir des solutions de mise en cache et des stratégies d'optimisation appropriées en fonction de besoins spécifiques afin de maximiser le rôle de la mise en cache.
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!