Table des matières
Installez l'extension PHP Redis
Configurer Redis dans Laravel
2. Utilisez Redis pour la mise en cache
Stocker et récupérer des données
Utilisez Redis directement
3. Utilisez Redis comme pilote de file d'attente
Configurer le pilote de file d'attente
Pousser les emplois à redis
Exécutez le travailleur de la file d'attente
4. Utilisez Redis pour la diffusion (événements en temps réel)
Définir le pilote de diffusion
Créer un événement de diffusion
Écoutez avec Laravel Echo (frontend)
Maison cadre php Laravel Comment travailler avec Redis dans une application Laravel?

Comment travailler avec Redis dans une application Laravel?

Aug 06, 2025 pm 01:03 PM

Installez Redis et le package Predis via Composer ou utilisez l'extension PHP Redis, puis configurez les paramètres de connexion dans le fichier .env avec redis_host, redis_password et redis_port. 2. Utilisez la façade de cache pour les opérations de mise en cache comme Cache :: put (), Cache :: get () et Cache :: incmenment (), ou utilisez la façade redis pour l'accès direct à la commande redis tel que redis :: set (), redis :: get (), et redis :: expire (). 3. Définissez la queue_connection = redis dans .env pour utiliser Redis comme pilote de file d'attente, les travaux de répartition à l'aide de dispatche () et les traiter avec PHP Artisan Fitre: Work. 4. Set Broadcast_Driver = Redis, créez des événements implémentant SHIDBROADCAST et utilisez Laravel Echo sur le frontend pour écouter des événements en temps réel sur WebSockets. 5. Suivez les meilleures pratiques, y compris l'utilisation de clés structurées, la définition de TTL, la surveillance de Redis, la gestion des travaux échoués et la sécurisation de l'instance Redis en production; Laravel simplifie l'intégration Redis pour la mise en cache, la file d'attente et la diffusion lors de la configuration correctement.

Comment travailler avec Redis dans une application Laravel?

Travailler avec Redis dans une application Laravel est simple grâce à la prise en charge intégrée de Laravel pour Redis en tant que pilote de cache et de session, ainsi qu'un outil puissant pour la file d'attente, la diffusion et la gestion des données en temps réel. Voici comment le configurer et l'utiliser efficacement.

Comment travailler avec Redis dans une application Laravel?

1. Installer et configurer Redis

Tout d'abord, assurez-vous que Redis est installé sur votre système ou disponible via un service (comme Redis Labs, Docker ou votre fournisseur d'hébergement).

Installez l'extension PHP Redis

Laravel utilise l'extension phpredis ou Predis . Vous pouvez l'installer via PECL ou utiliser le package predis/predis via Composer:

Comment travailler avec Redis dans une application Laravel?
 Le compositeur a besoin de Predis / Predis

Remarque: Si l'extension PHP Redis est installée (via PECL), Laravel l'utilisera à la place. Predis est un client PHP pur et fonctionne hors de la boîte.

Configurer Redis dans Laravel

Ouvrez .env et définissez votre connexion redis:

Comment travailler avec Redis dans une application Laravel?
 Redis_host = 127.0.0.1
Redis_password = null
Redis_port = 6379

Vérifiez config/database.php pour vous assurer que les paramètres redis sont corrects sous la touche redis .


2. Utilisez Redis pour la mise en cache

Le système de cache de Laravel prend en charge Redis hors de la boîte.

Stocker et récupérer des données

Utilisez la façade Cache :

 Utiliser illuminate \ support \ faades \ cache;

// Stockez un article pendant 10 minutes
Cache :: put ('utilisateur: 1', $ userdata, 600);

// Récupérer l'article
$ user = cache :: get ('utilisateur: 1');

// Stockage uniquement s'il n'existe pas
Cache :: add ('utilisateur: 2', $ userdata, 10);

// Incrément / diminution
Cache :: incrément («visites»);
Cache :: décrément («visites», 5);

Utilisez Redis directement

Pour plus de contrôle, utilisez la façade Redis :

 Utiliser illuminate \ support \ FACADES \ redis;

Redis :: set («key», «valeur»);
$ value = redis :: get ('key');
Redis :: hset ('hash: name', 'field', 'value');
Redis :: expire ('key', 300); // 5 minutes

Cela vous donne un accès complet aux commandes Redis.


3. Utilisez Redis comme pilote de file d'attente

Redis peut alimenter le système de file d'attente de Laravel pour les travaux de fond.

Configurer le pilote de file d'attente

Dans .env :

 Queue_connection = redis

Pousser les emplois à redis

Définissez un travail (en utilisant php artisan make:job ProcessPodcast ) et envoyez-le:

 ProcessPodcast :: Dispatch ($ podcast);

Le travail sera stocké dans Redis sous les queues:default (ou quelle que soit la file d'attente que vous spécifiez).

Exécutez le travailleur de la file d'attente

 PHP Artisan Fitre: Travail

Cela écoute les travaux de la file d'attente Redis et traite.


4. Utilisez Redis pour la diffusion (événements en temps réel)

Laravel peut diffuser des événements sur WebSockets à l'aide de Redis et Laravel Echo Server ou Laravel Websockets.

Définir le pilote de diffusion

Dans .env :

 Broadcast_driver = redis

Créer un événement de diffusion

 PHP Artisan Make: Event NewMessagePosted

Dans votre classe d'événements, implémentez ShouldBroadcast :

 classe NewMessagePosted implémente devrait Broadcast
{
    Message public $;

    fonction publique __construct ($ message)
    {
        $ this-> message = $ message;
    }

    fonction publique Broadcaston ()
    {
        retourner une nouvelle chaîne («chat»);
    }
}

Écoutez avec Laravel Echo (frontend)

Installez Laravel Echo et Pusher JS:

 Installation du NPM - Dev Laravel-Echo Pusher-Js

Dans resources/js/bootstrap.js :

 Importer l'écho de «Laravel-Echo»;

window.echo = new echo ({
    diffuseur: «redis»,
    hôte: window.location.hostname ': 6001'
});

Ensuite, écoutez l'événement:

 Echo.channel ('chat')
    .Listen ('NewMessagePosted', (e) => {
        Console.log (E.Message);
    });

Vous aurez besoin d'un serveur WebSocket comme laravel-websockets ou socket.io avec adaptateur Redis pour pont redis et websockets.


5. meilleures pratiques et conseils

  • Utilisez des clés significatives : les clés de structure comme users:1:profile pour plus de clarté.
  • Réglez TTLS : envisagez toujours l'expiration pour éviter les ballonnements de mémoire.
  • Production locale vs : utilisez Redis pour le cache / files d'attente dans la production; Fallback vers array ou le pilote database dans les tests.
  • Moniteur Redis : Utilisez des outils comme redis-cli monitor ou Redis Insight pour déboguer.
  • Gérer les échecs : lors de l'utilisation de Redis pour les files d'attente, configurez la manipulation de l'emploi échoué ( php artisan queue:failed-table ).

Travailler avec Redis dans Laravel devient une seconde nature une fois que vous obtenez les bases. Que vous cachez des requêtes lourdes, le traitement des travaux ou la création de fonctionnalités en temps réel, Redis s'intègre en douceur. N'oubliez pas de sécuriser votre instance Redis en production (utilisez des mots de passe, désactivez les commandes dangereuses, etc.).

Fondamentalement, Laravel fait le levage lourd - il vous suffit d'utiliser la bonne façade ou la configuration.

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.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

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)

Comment créer un plan du site pour une application Laravel Comment créer un plan du site pour une application Laravel Aug 20, 2025 am 09:16 AM

InstallaSpatie / Laravel-sitemAppackageusingComposerAndPublishitsConfigfileIfneeded.2.CreatearOteTogeNerateAnDerTeTheSiteMapDynamicly, soit parwritingittoafileorouttingxmldirectly.3.CustomzetheTetemapByAddingStatingDynamicurls, telasblogpost

Comment utiliser Eloquent dans Laravel Comment utiliser Eloquent dans Laravel Aug 21, 2025 pm 02:30 PM

Créer des modèles et la migration: utilisez PhPartisanMake: ModelPost-M pour générer des modèles et des fichiers de migration, définissez la structure du tableau et exécutez PhPartisanMigrate; 2. 3. Utiliser une association éloquente: définir l'appartenance et les relations HasMany dans le modèle, et utilisez la méthode avec () pour précharger les données associées pour éviter les problèmes de requête n 1; 4. Requête éloquente: utilisez le constructeur de requête pour des appels de chaîne tels que où

Comment travailler avec les relations polymorphes à Laravel Comment travailler avec les relations polymorphes à Laravel Aug 25, 2025 am 10:56 AM

PolymorphicRelationshipSinLaravelallowamodellikEcommentorimagetobelongTomultipleModelsSuchaspost, vidéo, OruserUsingAingLinsEassociation.2.Thedatabaseschemarequires {relation} _idand {relation} _TypeinacoMn, eXEMPLIBudcuMeMment_idandcunable_typeinacoMnus, EXEMPLIBUDAMENTALE_DANDANMETALAGE_

Comment utiliser Laravel Forge pour le déploiement Comment utiliser Laravel Forge pour le déploiement Aug 18, 2025 am 07:55 AM

LaravelforgeIsAserverAutomationPlatformHatSimplifiedPloyingLaravelapplicationsByManingInfrastructureAndDeployments Scripts.1.SetUpyourServerByConnectingacloudProvider, CréantaServerViaForge, andaddingyourrsitewithadomain, qui a automatimatique

Comment utiliser la localisation pour créer des applications multi-langues à Laravel Comment utiliser la localisation pour créer des applications multi-langues à Laravel Sep 02, 2025 am 04:54 AM

Créer des répertoires tels que Resources / Lang / EN et Resources / Lang / es et définir des fichiers linguistiques messages.php; 2. Définissez le lieu de la langue par défaut et la langue alternative Fallback_locale dans config / app.php; 3. Utilisez l'application :: setLocale () pour changer dynamiquement les langues et combiner middleware pour les définir automatiquement en fonction des en-têtes de session ou de demande; 4. Ajouter le préfixe des paramètres régionaux pour implémenter des URL multilingues via des paquets de routage et générer des liens localisés dans des modèles; 5. Utilisez la fonction __ () ou l'instruction @lang pour appeler la traduction dans les contrôleurs et les vues, en soutenant le formulaire pluriel viaTrans_choice

Comment utiliser la planification des tâches de Laravel Comment utiliser la planification des tâches de Laravel Aug 31, 2025 am 06:07 AM

Le système TaskSCheduling de Laravel vous permet de définir et de gérer les tâches de synchronisation via PHP, sans éditer manuellement le serveur Crontab, vous n'avez qu'à ajouter une tâche CRON qui est exécutée une fois par minute au serveur: * CD / PATH-TOT-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-YOUR-TROject && phpartisanschedule: Exécuter >> / Dev / Null2> & 1, et ensuite les tâches sont configurées dans la méthode de la programmation de l'accident \ Kernl; 1. La définition des tâches peut utiliser des méthodes de commande, d'appel ou d'exécution, telles que $ calendrier-

Comment créer un réseau social avec Laravel Comment créer un réseau social avec Laravel Sep 01, 2025 am 06:39 AM

Oui, YouCancreatEasocialNetworkwithLaravelByFollowingTheSestests: 1.SetUpLaraveLusingComposer, Configurethe.envfile, pertinentAuthenticationViabeze / Jetsstream / Fortify, andrunmigrationsforUserManagement.2

Comment construire un système de notification avec Laravel Comment construire un système de notification avec Laravel Sep 01, 2025 am 08:15 AM

RunphPartisannotifications: TABLEAndMigrateToSetUpTheDatabase.2.CreateArtificationClassusushPartisanMake: NotificationNewMessageCeceivedAndDefineChannelsIntheViamethod, Dataintodatabase, AndrealBroadCastingIntoBroad.

See all articles