Heim >Backend-Entwicklung >PHP-Tutorial >Exportieren Sie Millionen von Daten mit mehreren Prozessen in einer Minute in CSV und laden Sie sie in OSS hoch

Exportieren Sie Millionen von Daten mit mehreren Prozessen in einer Minute in CSV und laden Sie sie in OSS hoch

藏色散人
藏色散人nach vorne
2023-04-20 15:30:511628Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt vor allem vor, wie Sie Millionen von Daten in mehr als einer Minute ins OSS-Format exportieren und es sich hoffentlich gemeinsam ansehen können.

Anforderungen

  1. Das Produkt muss die Laufprotokolle bestimmter Benutzer eines bestimmten Teams in eine CSV-Datei exportieren, und zwar in einer Datei, und es muss schnell und nicht zu zeitaufwändig sein.

Problem

  1. Protokolle bedeuten oft große Datenmengen.
  2. Um es in eine Datei zu importieren, kann es auch dann gelöst werden, wenn das Datenvolumen groß ist. Es ist nichts weiter als eine Seitenabfrage und das Schreiben in eine CSV-Datei.
  3. Es ist schnell und zeitsparend. Es kann auch das Problem lösen, mehrere Dateien über mehrere Prozesse zu exportieren. Es ist jedoch nicht schwierig, eine Datei zu exportieren.

Lösung

  1. Fragen Sie zunächst die Gesamtmenge der zu exportierenden Daten ab.
  2. Stellen Sie sie in die Batch-Warteschlange, um mehrere Verbraucherabfragen zu starten und sie in mehrere CSV-Dateien zu schreiben.
  3. Notieren Sie den spezifischen CSV-Pfad und Dateinamen, den jede Warteschlange beim Posten in die Warteschlange schreibt.
  4. Verwenden Sie die Eigenschaften der Stapelwarteschlange, um die im vorherigen Schritt aufgezeichneten mehreren CSV-Dateien in einer einzigen CSV-Datei zusammenzuführen.
  5. Nachdem die Zusammenführung abgeschlossen ist, löschen Sie die mehreren CSV-Dateien vor dem Zusammenführen und behalten Sie die zusammengeführte CSV-Datei bei Laden Sie es auf oss hoch.

Ergebnisse

Nach dem Testen von mehr als 500.000 Datenelementen werden jeder Warteschlange in der Stapelwarteschlange 50.000 Datenelemente zur Verarbeitung zugewiesen. Der Abschluss eines Prozesses dauert weniger als eine Minute Hängt davon ab, wie der Server gestartet werden kann. Bei meinem Test habe ich die maximale Anzahl von Verbrauchern verwendet, die gleichzeitig ausgeführt werden.

Exportieren Sie Millionen von Daten mit mehreren Prozessen in einer Minute in CSV und laden Sie sie in OSS hoch

Empfohlenes Lernen: „Laravel-Video-Tutorial

Das obige ist der detaillierte Inhalt vonExportieren Sie Millionen von Daten mit mehreren Prozessen in einer Minute in CSV und laden Sie sie in OSS hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen