Maison développement back-end tutoriel php À propos de la méthode Laravel d'utilisation de Redis pour implémenter la lecture du cache du site Web

À propos de la méthode Laravel d'utilisation de Redis pour implémenter la lecture du cache du site Web

Jun 13, 2018 am 09:46 AM
laravel redis Redis cache utiliser

Cet article vous présente principalement les informations pertinentes sur laravel utilisant Redis pour implémenter la lecture du cache du site Web. L'article le présente en détail à travers l'exemple de code. Il a une certaine valeur d'apprentissage de référence pour les études ou le travail de chacun. et apprenons ensemble.

Introduction à redis

Redis est entièrement open source et gratuit, est conforme au protocole BSD et est un outil performant base de données clé-valeur. Redis et d'autres produits de mise en cache clé-valeur
ont les trois caractéristiques suivantes : Redis prend en charge la persistance des données, qui peut conserver les données dans la mémoire sur le disque et peut être chargée à nouveau pour être utilisée lors du redémarrage.

Redis prend non seulement en charge les données de type clé-valeur simples, mais fournit également le stockage de structures de données telles que liste, ensemble, zset et hachage.

Redis prend en charge la sauvegarde des données, c'est-à-dire la sauvegarde des données en mode maître-esclave.

Avantages de Redis

  • Extrêmement hautes performances – Redis peut lire à une vitesse de 110 000 fois/s . La vitesse d'écriture est de 81 000 fois/s.

  • Types de données riches – Redis prend en charge les opérations de type de données Chaînes, Listes, Hachages, Ensembles et Ensembles ordonnés pour les cas binaires.

  • Atomique - Toutes les opérations de Redis sont atomiques, et Redis prend également en charge l'exécution atomique après la fusion de plusieurs opérations.

  • Fonctionnalités riches – Redis prend également en charge la publication/abonnement, les notifications, l'expiration des clés et d'autres fonctionnalités.

Comment installer redis

1. est Ubuntu, donc je n'ai utilisé que cette méthode pour installer)

La méthode d'installation officielle d'Ubuntu

$sudo apt-get update
$sudo apt-get install redis-server

Parce que je Le site Web utilise le framework laravel. Vous devez utiliser la méthode composer pour installer

composer require predis/predis

Si vous installez le microframework lumen, vous devez également l'installer. illuminate/redis (5.2. *)

composer require illuminate/redis (5.2.*)

Configuration

si Lumen est installé

//需要在bootstrap/app.php里面加入此段代码
$app->register(Illuminate\Redis\RedisServiceProvider::class);
$app->configure('database');

Redis peut être utilisé comme base de données principale, donc les informations de configuration de Redis dans Laravel se trouvent dans config/database. php :

'redis' => [
'cluster' => false,
'default' => [
 'host' => '127.0.0.1',
 'port' => 6379,
 'database' => 0,
],
],

L'option cluster indique s'il faut effectuer un partitionnement entre plusieurs nœuds Redis. Ici, nous n'avons qu'un seul nœud dans le test local, nous définissons donc. c'est faux.

L'option par défaut indique la connexion hôte Redis par défaut. Ici, Redis et le serveur Web partagent un hôte, donc l'hôte est 127.0.0.1 et le port Redis par défaut est 6379.

De plus, l'option par défaut prend également en charge davantage de paramètres de connexion (si nécessaire) :

Paramètres
参数

意义

默认值
host服务器IP地址/主机名称127.0.0.1
portRedis服务器监听的端口号6379
password如果服务器需要认证密码不使用密码

database

连接时选择的数据库索引

没有设置索引

timeout

连接到Redis服务器超时时间5秒
read_write_timeout通过网络连接进行读写操作的超时时间

系统默认(不限制超时时间的话设置为-1)

Signification

Valeur par défaut
hôteAdresse IP/hôte du serveur Nom127.0.0.1
portNuméro de port écouté par le serveur Redis6379
Mot de passeSi le serveur nécessite un mot de passe d'authentificationNe pas utiliser de mot de passe

base de données

L'index de la base de données sélectionné lors de la connexion

Aucun index n'est défini

timeout
'redis' => [

'driver' => 'redis',
'connection' => 'default',
],
Délai d'expiration de la connexion au serveur Redis5 secondes
read_write_timeoutDélai d'expiration dépassé pour les opérations de lecture et d'écriture de connexion réseau

Par défaut du système (défini sur -1 si le délai d'expiration n'est pas limité)

read_write_timeout |Délai d'expiration pour les opérations de lecture et d'écriture via une connexion réseau|Par défaut du système (défini sur -1 si le délai d'expiration n'est pas limité)

En plus Redis S'il est utilisé comme outil de mise en cache, vous devez également configurer l'option redis dans config/cache.php :


La connexion ici correspond au redis par défaut dans la configuration par défaut de l'hôte config/database.

Après avoir terminé la configuration ci-dessus, nous pouvons utiliser Redis pour accéder aux données dans le code de l'application.

 if (Cache::has($key)){    //首先查寻cache如果找到
  $values = Cache::get($>key); //直接读取cache
  return $values;
 }else{         //如果cache里面没有  
  $values = DB::select($sql);
  Cache::put($key,$value,$time);
  return $values;
 }
Regardez un exemple——Le mysql de Laravel est associé à Redis

Mon idée est que lors de la lecture, allez d'abord dans le cache pour rechercher. Si vous le trouvez, vous aurez de la chance. Si vous ne le trouvez pas, accédez à la base de données pour le rechercher et le transférer dans le cache.

 $values = Cache::remember($key,$time,function () {
   return DB::select($this->sql);
  });

Mais le cache de Laravel fournit également une fonction de mémorisation


Si le cache est lu et renvoyé directement, si l'élément du cache n'existe pas dans le cache, la fermeture renvoyée à la méthode Remember sera exécutée et le résultat de la fermeture sera stocké dans le cache.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois ! Recommandations associées :

À propos des opérations de liaison des routes et des contrôleurs du framework Laravel

Pour le cycle de vie du framework Laravel et analyse des principes

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1525
276
Comment implémenter un système de référence à Laravel? Comment implémenter un système de référence à Laravel? Aug 02, 2025 am 06:55 AM

Créer un tableau de références pour enregistrer les relations de recommandation, y compris les références, les références, les codes de recommandation et le temps d'utilisation; 2. Définir l'appartenance et les relations HasMany dans le modèle d'utilisateur pour gérer les données de recommandation; 3. Générer un code de recommandation unique lors de l'enregistrement (peut être implémenté via des événements modèles); 4. Capturez le code de recommandation en interrogeant les paramètres lors de l'enregistrement, établissez une relation de recommandation après vérification et empêchez l'auto-recommandation; 5. Déclencher le mécanisme de récompense lorsque les utilisateurs recommandés terminent le comportement spécifié (ordre d'abonnement); 6. Générer des liens de recommandation partageables et utiliser les URL de signature Laravel pour améliorer la sécurité; 7. Afficher les statistiques de recommandation sur le tableau de bord, telles que le nombre total de recommandations et de nombres convertis; Il est nécessaire de s'assurer que les contraintes de base de données, les séances ou les cookies sont persistées,

Que sont les contrats de référentiel à Laravel? Que sont les contrats de référentiel à Laravel? Aug 03, 2025 am 12:10 AM

Le modèle de référentiel est un modèle de conception utilisé pour découpler la logique métier à partir de la logique d'accès aux données. 1. Il définit les méthodes d'accès aux données via des interfaces (contrat); 2. Les opérations spécifiques sont implémentées par la classe de référentiel; 3. Le contrôleur utilise l'interface par injection de dépendance et ne contacte pas directement la source de données; 4. Les avantages incluent un code soigné, une testabilité solide, une maintenance facile et une collaboration d'équipe; 5. Applicable aux projets moyens et grands, les petits projets peuvent utiliser directement le modèle.

Comment construire une API REST avec Laravel? Comment construire une API REST avec Laravel? Jul 30, 2025 am 03:41 AM

Créer un nouveau projet Laravel et démarrer le service; 2. Générez le modèle, la migration et le contrôleur et exécuter la migration; 3. Définissez l'itinéraire RESTful dans les routes / api.php; 4. Implémentez la méthode d'addition, de suppression, de modification et de requête dans Post Controller et renvoyez la réponse JSON; 5. Utilisez Postman ou Curl pour tester la fonction API; 6. Ajouter éventuellement l'authentification de l'API via Sanctum; Enfin, obtenez une structure claire, Laravelrestapi complète et extensible, adaptée aux applications pratiques.

Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Comment utiliser les accessoires et les mutateurs en éloquent à Laravel? Aug 02, 2025 am 08:32 AM

AccessorsandMutatorsInLaravel'SeloventoralLowyoutOrOrorManipulateModelatRributes Pendant ce temps

Utilisation des demandes de formulaire de validation dans Laravel. Utilisation des demandes de formulaire de validation dans Laravel. Jul 30, 2025 am 05:04 AM

Utilisez des formulaires pour extraire la logique de vérification de formulaire complexe du contrôleur, améliorant la maintenabilité du code et la réutilisabilité. 1. Méthode de création: générer la classe de demande via la commande artisan make: demande; 2. Règles de définition: définir la logique de vérification du champ dans la méthode des règles (); 3. Utilisation du contrôleur: recevez directement les demandes avec cette classe en tant que paramètre, et Laravel vérifie automatiquement; 4. Jugement d'autorisation: Contrôler les autorisations des utilisateurs via la méthode Authorize (); 5. Règles d'ajustement dynamique: renvoyez dynamiquement différentes règles de vérification en fonction du contenu de la demande.

Comment intégrer React avec Laravel? Comment intégrer React avec Laravel? Jul 30, 2025 am 04:05 AM

SetupLaravelasanapibackendByInstallingLaravel, configurationTheDatabase, créationapiroutes, etraturningjsonfromControllers, éventuellement, usinglaravelsanctumforauthentication.2.

Comment utiliser des sous-requêtes en éloquente à Laravel? Comment utiliser des sous-requêtes en éloquente à Laravel? Aug 05, 2025 am 07:53 AM

LaraveLolientsSupportsSubQueriesInselect, d'où, et d'orderByClauses, permettant à la FlexibledataRetrievalwithoutrawsql; 1.Useesectsub () ToaddCompuledColumns likepostcountperUser; 2.Usefromsub () OrclosionInfrom () totaleaTSubQueryArableforgouredData;

Comprendre MVC: comment Laravel implémente le modèle de contrôle de la vue de modèle Comprendre MVC: comment Laravel implémente le modèle de contrôle de la vue de modèle Aug 02, 2025 am 01:04 AM

LaravelImplementsThemvcpatternByusingModelsfordatAraman Management, ControversforBusinessLogic, andViewsForpresentation.1) Modèles InsistaravelAreaPowerFulorMshandlingDataAndrelations.2)

See all articles