Asynchron – PHP-Massendatenimport

WBOY
Freigeben: 2016-08-04 09:21:44
Original
1402 Leute haben es durchsucht

Jetzt müssen Excel-Daten in eine Datentabelle importiert werden, aber die Datenmenge ist relativ groß. Es müssen höchstens Dutzende W-Daten gleichzeitig importiert werden in die Datenbank, aber über eine Schnittstelle können bis zu 1.000 Elemente gleichzeitig verarbeitet werden. Jetzt möchte ich einen aufgabenbasierten Import erstellen Importieren Sie die Aufgabe, stellen Sie alle Aufgaben in eine Warteschlange und erledigen Sie die Importaufgaben nacheinander. Es gibt welche guten Methoden und Vorschläge

Antwortinhalt:

Jetzt müssen Excel-Daten in eine Datentabelle importiert werden, aber die Datenmenge ist relativ groß. Es müssen höchstens Dutzende W-Daten gleichzeitig importiert werden in die Datenbank, aber über eine Schnittstelle können bis zu 1.000 Elemente gleichzeitig verarbeitet werden. Jetzt möchte ich einen aufgabenbasierten Import erstellen Importieren Sie die Aufgabe, stellen Sie alle Aufgaben in eine Warteschlange und erledigen Sie die Importaufgaben nacheinander. Es gibt welche guten Methoden und Vorschläge

Ihre Idee ist sehr gut, aber leider ist PHP für so etwas nicht geeignet. Es wird empfohlen, eine Sprache wie Java zu verwenden, um Ihre Idee umzusetzen.

PHP hat eine Aufgabe und übermittelt die Aufgabenparameter direkt an die Datenbank.

Java greift alle 100 ms im Hintergrund auf die Datenbank zu, um zu sehen, ob Aufgaben vorhanden sind, und um diese gegebenenfalls zu verarbeiten.

php ist standardmäßig auf 30 Sekunden eingestellt; Sie können ein set_time_limit(99999999) hinzufügen;
Hunderttausende Daten sollten in weniger als 1 Minute gespeichert werden

Crontab-Aufgabenliste führt asynchrone Hintergrundaufgaben aus, was für dieses Szenario sehr gut geeignet ist

  1. MySQL-Ladedaten-Infile importiert Daten schnell in eine temporäre Tabelle

  2. Der PHP-Daemon synchronisiert Daten stapelweise mit der Schnittstelle (oder crontab schreibt geplante Aufgaben)

PHP in SQL einfügen und MySQL-Hintergrundquelle direkt importieren

Es ist am besten, in Segmenten zu importieren, nicht alle auf einmal

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage