Frage

UPDATE: Ich habe beschlossen, unter den Rat zu nehmen und ein Memcached Tier in meiner Anwendung zu implementieren. Jetzt habe ich einen anderen Gedanken. Wäre es möglich, / eine gute Idee, einen AJAX-Request für eine Umfrage (etwa alle fünf bis zehn Minuten), dass die Kontrollen Memcached und aktualisiert dann zu tun, wenn Memcached abgelaufen ist? Auf diese Weise der Latenz wird nie durch die Endbenutzer erfahren, weil es unbemerkt im Hintergrund ausgeführt wird.


Ich bin mit Directed Edge REST API Empfehlungen auf meinem Web-App zu tun. Das Problem, das ich begegnet bin ist, dass ich Abfrage für eine signifikante Anzahl von Empfehlungen an mehreren Stellen auf der gesamten Website und die Latenz signifikant und macht die Seite zu laden, so etwas wie 2-5 Sekunden für jede Abfrage. es sieht schrecklich aus.

Ich bin nicht mit Directed Edge PHP Bindungen und stattdessen einige PHP-Bindungen verwende ich selbst geschrieben habe. Sie können die Bindungen auf GitHub . Ich bin auf ihre API Anschluss mit cURL .

Wie kann ich die Daten zwischenspeichern Ich erhalte? Ich bin offen für eine beliebige Anzahl von Methoden, solange sie sind ziemlich einfach zu implementieren und ziemlich flexibel.

Hier ist ein Beispiel für den Client-Code für Empfehlungen zu bekommen.

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);
War es hilfreich?

Lösung

Sie können in einer Datei-Cache serialize und file_put_contents:

file_put_contents("my_cache", serialize($myObject));

Sie könnten auch Cache Memcached oder eine Datenbank.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top