2010-11-18 2 views
0

Ich versuche, eine Möglichkeit zum Ausführen einer MySQL-Abfrage zu überlegen, 50 Zeilen zurück, informieren Sie den Anforderer, dass es 50 Zeilen zu erhalten hat, und senden Sie dann 10 Zeilen. Aber der Server kann nicht sagen "Nimm den nächsten Datensatz" (kann es?). Aber es kann sagen "es gibt mehr Daten" und der Benutzer kann eine ANDERE Anfrage senden. Aber ich möchte nicht, dass eine andere SQL-Abfrage ausgeführt wird, ich möchte nur, dass die Ergebnisse der ersten Abfrage irgendwo zwischengespeichert werden und dann weiß der Benutzer, wo er ist. Adn sagt "Ich brauche die nächsten 10 Einträge aus dem Speicher @_ _ "Kann das Ergebnis einer DB-Abfrage, die über mehrere HTTPRequests ausgegeben werden soll, gespeichert werden?

Das Endziel ist, dass ich in der Lage sein werde, eine iPhone App zu haben, die große Mengen an Informationen anfordern kann, aber immer nur auf EINES dieser Stücke wartet. Auf diese Weise kann der Benutzer mit dem, was bisher zurückgegeben wurde, interagieren, anstatt 30 Sekunden zu warten und dann endlich Dinge tun zu können.

+0

Einige unglückliche Benutzer warten immer noch 30 Sekunden, wenn der Cache-Eintrag abläuft oder die angeforderten Daten nicht innerhalb des im Cache gespeicherten Satzes liegen. – stillstanding

Antwort

2

Speichern Sie die Abfrageergebnisse in memcached. Auf diese Weise müssen Sie nicht mehrere SQL-Anfragen ausführen.

+0

+1 Zustimmen. Aber überlegen Sie zuerst, ob es sich lohnt. Für eine triviale Abfrage brauchen Sie es normalerweise nicht. – AndreKR

+0

+1 APC könnte auch eine gute Wahl sein. – lonesomeday

+0

Fügen Sie xCache zur Liste hinzu – stillstanding

Verwandte Themen