


Partage de connexion Laravel Redis: pourquoi la méthode de sélection affecte-t-elle d'autres connexions?
Apr 01, 2025 am 07:45 AM L'influence du partage de la connexion redis et select
des méthodes dans le cadre de Laravel
Lorsque vous utilisez Redis dans le cadre Laravel, les développeurs peuvent rencontrer un problème: la connexion Redis obtenue via le fichier de configuration affectera la même connexion obtenue avant de changer la base de données à l'aide de select
. Cet article analyse ce problème et fournit des solutions.
Description du problème: Supposons que le code obtient une connexion redis nommée 'config1' via Redis::connection('config1')
, et sa configuration est la suivante:
'config1' => [ 'host' => 'xx', 'mot de passe' => 'xx', 'port' => 'xx', ?base de données? => 2 ]]
Obtenez la connexion ?config1? deux fois et effectuez select(3)
sur l'une des connexions pour passer à la base de données 3:
$ a = redis :: connection ('config1'); $ b = redis :: connection ('config1'); $ b-> select (3); $ a-> set ('test1', 1); // ?Test1? écrit dans la base de données 3, pas la base de données attendue 2
$b
résultat de $ a- $a
$a->set('test1', 1)
est surprenant, car les données attendues doivent être écrites dans la base de données 2. En effet
\Illuminate\Support\Facades\Redis
du framework Laravel renvoie redis
via getFacadeAccessor
, et redis
est implémenté par \Illuminate\Redis\RedisManager
. La méthode connection
de \Illuminate\Redis\RedisManager
mettra en cache la connexion après le premier analyse, et les appels suivants renverront directement la même instance redis.
Par conséquent, pour éviter ce problème, vous ne pouvez pas appeler Redis::connection()
plusieurs fois pour obtenir une connexion autonome. La solution consiste à créer une nouvelle instance de connexion en utilisant la méthode resolve
de Laravel:
$ a = app ('redis') -> connection ('config1'); $ b = app ('redis') -> connection ('config1'); $ b-> select (3); $ a-> set ('test1', 1); // 'test1' va maintenant écrire dans la base de données 2
Utilisez app('redis')->connection('config1')
pour créer une nouvelle instance de connexion à chaque fois, en évitant le problème de partager la même connexion redis sous-jacente et de garantir que chaque connexion a une sélection de base de données indépendante. Cela résout le problème que select
affecte les autres connexions.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

Binance est la principale plate-forme de trading de crypto-monnaie au monde avec une excellente sécurité, des variétés de trading riches et une expérience utilisateur fluide. Il adopte une architecture de sécurité multicouches pour garantir la sécurité des actifs, fournit une variété de types de transactions tels que le point, l'effet de levier, les contrats, etc., et a une liquidité élevée pour garantir des transactions efficaces. Les étapes de connexion comprennent: 1. Visitez le site officiel et consultez l'URL; 2. Cliquez sur le bouton "Connexion" dans le coin supérieur droit; 3. Entrez le numéro d'e-mail / téléphone mobile et le mot de passe; 4. Vérification complète de la sécurité telle que la vérification à deux facteurs, le SMS ou le code de vérification par e-mail; 5. Cliquez pour vous connecter pour terminer l'opération. La plate-forme fournit également Binance Earn, NFT Market, Academy et d'autres fonctionnalités spéciales, et rappelle aux utilisateurs de se méfier des sites Web de phishing, de permettre le 2FA, de comprendre les risques de transaction, de méfier de la fraude et de s'assurer que

LaravelprovidesRobustToolsForvalidateFormData.1.Assure de la basicValidationCanbedOneusingTheValidate () MethodinControllers, garantissant à la manière

Binance et Huobi HTX sont tous deux d'importantes plateformes de trading d'actifs numériques dans le monde, mais chacune a son propre objectif. 1. Binance a été créée en 2017 et a rapidement dominé le marché avec l'innovation et l'expansion; Huobi HTX était auparavant Huobi Global, fondé en 2013 avec une histoire plus longue et a ensuite été renommé HTX pour rechercher un nouveau développement. 2. Binance mène dans le volume de trading mondial et le nombre d'utilisateurs, et a une liquidité plus forte; Huobi HTX a une base profonde sur certains marchés asiatiques, mais sa part de marché globale est légèrement inférieure. 3. Binance a une riche gamme de produits, couvrant les produits financiers, le lancement, etc.

CachingInLaravelSIGNIGNICALY ImproveProvePlication PerformanceByRedugingDatabaseeries et DimizingredantProcessing.TousecachingEffective, suivant,

Le fichier .env est un fichier de configuration utilisé dans le projet Laravel pour stocker les variables d'environnement. Il sépare les informations sensibles du code et prend en charge la commutation multi-environnement. Ses fonctions principales incluent: 1. Gérer les connexions de base de données, les clés API et d'autres configurations de manière centralisée; 2. Variables d'appel via des fonctions env () ou config (); 3. Après modification, la configuration doit être actualisée avant qu'elle ne prenne effet; 4. Il ne doit pas être soumis au contr?le de version pour éviter les fuites; 5. plusieurs fichiers .env peuvent être créés pour différents environnements. Lorsque vous l'utilisez, vous devez d'abord définir des variables, puis les appeler en conjonction avec le fichier de configuration pour éviter le codage dur direct.

Les trois types de crypto-monnaies qui peuvent être liquidées ou restreintes par les régulateurs en 2025 comprennent: 1. La devise de confidentialité, qui est facilement utilisée pour les activités illégales en raison de son anonymat et des restrictions ou de la suppression des étagères causées par le renforcement des réglementations mondiales de LMA / KYC; 2. Les jetons de titres non enregistrés peuvent être retirés de la bourse ou requise la rectification en raison de la non-conformité des réglementations sur les valeurs mobilières; 3. Les stablescoins non conformes peuvent être interdits de négocier en raison du manque de réserves transparentes ou d'autorisations réglementaires. Il est recommandé de prêter une attention particulière aux tendances réglementaires, de diverses investissements, de prêter attention aux annonces d'échange et de consulter des professionnels pour faire face aux risques politiques.

Airdrops dans le champ de crypto-monnaie est une méthode de promotion marketing pour le projet afin de distribuer gratuitement un certain nombre de jetons aux membres de la communauté ou aux utilisateurs potentiels. De cette fa?on, la partie du projet espère augmenter la visibilité des jetons et attirer davantage d'utilisateurs pour participer au projet, élargissant ainsi la taille de la communauté et augmentant la liquidité des jetons. Pour les utilisateurs, AirDrops offre des possibilités d'obtenir des jetons de projet sans investissement initial, et est l'un des moyens de contacter et de comprendre de nouveaux projets au début.

ElognentorMislaravel’sbuilt-inobject-restaurationMapperThatSimplifiesDatabaseInteractionsusingPhpclassesAndObjects.1.itmapsDatabasetableStomodels, activant les explications
