Heim Backend-Entwicklung PHP-Tutorial Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus?

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus?

Apr 01, 2025 am 07:45 AM
laravel redis cad access red

Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus?

Der Einfluss der Redisverbindungsfreigabe und select im Rahmen des Laravel -Frameworks

Bei Verwendung von Redis im Laravel -Framework können Entwickler auf ein Problem stoßen: Die über die Konfigurationsdatei erhaltene Redis -Verbindung beeinflusst dieselbe Verbindung, die vor dem Umschalten der Datenbank mit select erhalten wird. Dieser Artikel analysiert dieses Problem und bietet Lösungen.

Problembeschreibung: Angenommen, der Code erhält eine Redis -Verbindung mit dem Namen 'config1' über Redis::connection('config1') , und seine Konfiguration lautet wie folgt:

 'config1' => [
    'Host' => 'xx',
    'Passwort' => 'xx',
    'Port' => 'xx',
    'Datenbank' => 2
]
Nach dem Login kopieren

Nutzen Sie die Verbindung von 'config1' zweimal und führen Sie select(3) in einer der Verbindungen aus, um in die Datenbank 3 zu wechseln:

 $ a = redis :: connection ('config1');
$ B = Redis :: Connection ('config1');
$ B-> SELECT (3);
$ a-> set ('test1', 1); // 'test1' schriftlich in die Datenbank 3, nicht erwartete Datenbank 2
Nach dem Login kopieren

Das Ergebnis von $a->set('test1', 1) ist überraschend, da die erwarteten Daten in die Datenbank 2 geschrieben werden sollten. Dies liegt daran, dass der REDIS-Verbindungsmanagement-Mechanismus des Laravel-Frameworks dazu führt, dass $a und $b tatsächlich auf dasselbe REDIS-Verbindungsobjekt verweisen.

\Illuminate\Support\Facades\Redis des Laravel -Frameworks gibt redis über getFacadeAccessor -Methode zurück, und redis wird von \Illuminate\Redis\RedisManager implementiert. Die connection von \Illuminate\Redis\RedisManager wird die Verbindung nach der ersten Parsen zwischenspeichert, und nachfolgende Anrufe geben direkt die gleiche Redis -Instanz zurück.

Um dieses Problem zu vermeiden, können Sie Redis::connection() nicht mehrmals aufrufen, um eine eigenständige Verbindung zu erhalten. Die Lösung besteht darin, eine neue Verbindungsinstanz mithilfe der Laravel resolve zu erstellen:

 $ a = app ('redis')-> connection ('config1');
$ b = app ('redis')-> connection ('config1');
$ B-> SELECT (3);
$ a-> set ('test1', 1); // 'test1' schreibt nun in die Datenbank 2
Nach dem Login kopieren

Verwenden Sie app('redis')->connection('config1') um jedes Mal eine neue Verbindungsinstanz zu erstellen, um das Problem der gemeinsamen Teile derselben REDIS-Verbindung zu vermeiden und sicherzustellen, dass jede Verbindung eine unabhängige Datenbankauswahl hat. Dies löst das Problem, dass select andere Verbindungen beeinflusst.

Das obige ist der detaillierte Inhalt vonLaravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1667
14
PHP-Tutorial
1273
29
C#-Tutorial
1255
24
Laden Sie die offizielle Website der Ouyi Exchange App für Apple Mobile herunter Laden Sie die offizielle Website der Ouyi Exchange App für Apple Mobile herunter Apr 28, 2025 pm 06:57 PM

Die Ouyi Exchange -App unterstützt das Herunterladen von Apple Mobile Phones, besuchen Sie die offizielle Website, klicken Sie auf die Option "Apple Mobile", erhalten und installieren sie im App Store, registrieren oder melden Sie sich an, um Kryptowährungshandel durchzuführen.

Redis: Verständnis seiner Architektur und des Zwecks Redis: Verständnis seiner Architektur und des Zwecks Apr 26, 2025 am 12:11 AM

Redis ist ein Speichersystem für Speicherdatenstruktur, das hauptsächlich als Datenbank, Cache und Message Broker verwendet wird. Zu den Kernmerkmalen gehören ein Einzel-Thread-Modell, E/A-Multiplexing, Persistenzmechanismus, Replikations- und Clustering-Funktionen. Redis wird üblicherweise in praktischen Anwendungen für Caching-, Sitzungsspeicher- und Nachrichtenwarteschlangen verwendet. Es kann seine Leistung erheblich verbessern, indem die richtige Datenstruktur ausgewählt, Pipelines und Transaktionen verwendet und überwacht und stimmt.

Welche der zehn besten Währungsplattformen der Welt sind die neueste Version der zehn besten Währungshandelsplattformen Welche der zehn besten Währungsplattformen der Welt sind die neueste Version der zehn besten Währungshandelsplattformen Apr 28, 2025 pm 08:09 PM

Zu den zehn Top -Kryptowährungs -Handelsplattformen der Welt gehören Binance, OKX, Gate.io, Coinbase, Kraken, Huobi Global, Bitfinex, Bittrex, Kucoin und Poloniex, die alle eine Vielzahl von Handelsmethoden und leistungsstarken Sicherheitsmaßnahmen bieten.

Wie versteht man DMA -Operationen in C? Wie versteht man DMA -Operationen in C? Apr 28, 2025 pm 10:09 PM

DMA in C bezieht sich auf DirectMemoryAccess, eine direkte Speicherzugriffstechnologie, mit der Hardware -Geräte ohne CPU -Intervention Daten direkt an den Speicher übertragen können. 1) Der DMA -Betrieb ist in hohem Maße von Hardware -Geräten und -Treibern abhängig, und die Implementierungsmethode variiert von System zu System. 2) Direkter Zugriff auf Speicher kann Sicherheitsrisiken mitbringen, und die Richtigkeit und Sicherheit des Codes muss gewährleistet werden. 3) DMA kann die Leistung verbessern, aber eine unsachgemäße Verwendung kann zu einer Verschlechterung der Systemleistung führen. Durch Praxis und Lernen können wir die Fähigkeiten der Verwendung von DMA beherrschen und seine Wirksamkeit in Szenarien wie Hochgeschwindigkeitsdatenübertragung und Echtzeitsignalverarbeitung maximieren.

Binance Offizielle Website Eingang Binance Beamter neuester Eingang 2025 Binance Offizielle Website Eingang Binance Beamter neuester Eingang 2025 Apr 28, 2025 pm 07:54 PM

Besuchen Sie die offizielle Website Binance und überprüfen Sie HTTPS und Green Lock -Logos, um Phishing -Websites zu vermeiden, und offizielle Anwendungen können auch sicher zugegriffen werden.

Bitcoin -Preis heute Bitcoin -Preis heute Apr 28, 2025 pm 07:39 PM

Die heutigen Preisschwankungen von Bitcoin werden von vielen Faktoren wie Makroökonomie, Richtlinien und Marktstimmungen beeinflusst. Anleger müssen auf die technische und grundlegende Analyse achten, um fundierte Entscheidungen zu treffen.

Was ist der Unterschied zwischen PHP -Framework Laravel und Yii Was ist der Unterschied zwischen PHP -Framework Laravel und Yii Apr 30, 2025 pm 02:24 PM

Die Hauptunterschiede zwischen Laravel und YII sind Designkonzepte, funktionale Eigenschaften und Nutzungsszenarien. 1. Laravel konzentriert sich auf die Einfachheit und das Vergnügen der Entwicklung und bietet reichhaltige Funktionen wie eloquentorm und handwerkliche Werkzeuge, die für schnelle Entwicklung und Anfänger geeignet sind. 2.YII betont Leistung und Effizienz, eignet sich für Hochlastanwendungen und bietet effiziente Activerecord- und Cache-Systeme, verfügt jedoch über eine steile Lernkurve.

Empfohlene Laravels beste Erweiterungspakete: 2024 Wesentliche Werkzeuge Empfohlene Laravels beste Erweiterungspakete: 2024 Wesentliche Werkzeuge Apr 30, 2025 pm 02:18 PM

Die wesentlichen Laravel -Erweiterungspakete für 2024 umfassen: 1. Laraveldebugbar, zum Überwachen und Debugg -Code; 2. LaravelTelescope, die eine detaillierte Anwendungsüberwachung bereitstellt; 3.. Laravelhorizon, Managing Redis -Warteschlangenaufgaben. Diese Expansionspakete können die Entwicklungseffizienz und die Anwendungsleistung verbessern.

See all articles