Wie implementieren hintergrund/asynchrone write-behind-caching in PHP?

Habe ich eine bestimmte PHP-Seite, die aus verschiedenen Gründen speichern muss ~200 Felder in einer Datenbank. Diese sind 200 separate insert und/oder update-Anweisungen. Nun ist die offensichtliche Sache zu tun ist, diese Zahl zu reduzieren, aber, wie ich schon sagte, aus Gründen, die ich gewonnen ' T die Mühe gehen in ich kann das nicht tun.

Ich hatte nicht erwartet, mit diesem problem. Wählt scheinen einigermaßen performant in MySQL aber inserts/updates nicht (es dauert etwa 15-20 Sekunden, um dieses update aus, was natürlich inakzeptabel ist). Ich habe geschrieben in Java/Oracle-Systeme, die glücklich machen Tausende von inserts/updates in der gleichen Zeit (in beiden Fällen läuft die lokalen Datenbanken; MySQL 5 vs OracleXE).

Nun in so etwas wie Java-oder .Net, ich könnte ganz leicht führen Sie einen der folgenden Schritte aus:

  1. Schreiben Sie die Daten auf einer in-memory
    write-behind-cache (ie, es würde
    wissen, wie beibehalten der Datenbank
    und so tun könnte asynchron);
  2. Schreiben Sie die Daten auf einer in-memory-cache
    und die Nutzung der PaaS (Persistenz als
    Service) - Modell ie, ein Zuhörer auf die
    cache bestehen bleiben würden die Felder; oder
  3. Einfach einen Hintergrundprozess starten
    das könnte beibehalten der Daten.

Die minimale Lösung ist, um eine cache, die kann ich einfach update, die GESONDERT gehen und Update der Datenbank in seine eigene Zeit (dh, es wird sofort wieder nach update der in-memory-cache). Dies kann entweder ein globaler cache oder session-cache (obwohl eine global shared cache vorhanden Reiz in andere Art und Weise).

Andere Lösungen zu diesem problem?

InformationsquelleAutor cletus | 2008-11-29
Schreibe einen Kommentar