Domanda

UPDATE: Ho deciso di seguire i consigli qui sotto e implementare un livello Memcached nella mia app. Ora ho un altro pensiero. Sarebbe possibile / una buona idea per fare una richiesta AJAX su un sondaggio (dire ogni cinque o dieci minuti) che i controlli Memcached e quindi aggiorna quando Memcached è scaduto? In questo modo la latenza non è mai vissuta dall'utente finale perché è eseguito in background.


sto utilizzando API REST di Directed Edge per fare raccomandazioni sul mio web app. Il problema che sto incontrando è che domanda che per un numero significativo di raccomandazioni in diversi luoghi in tutto il sito, e la latenza è significativa, rendendo il caricamento della pagina qualcosa come 2-5 secondi per ogni query. sembra terribile.

Non sto usando attacchi PHP di Diretto Edge, e invece sto utilizzando alcuni attacchi PHP me stesso che ho scritto. È possibile visualizzare le associazioni su GitHub . Ho il collegamento al loro API utilizzando cURL .

Come faccio a memorizzare nella cache i dati che ricevo? Sono aperto a qualsiasi numero di metodi in modo fino a quando sono abbastanza facili da implementare e abbastanza flessibili.

Ecco un esempio del codice client per ottenere raccomandazioni.

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);
È stato utile?

Soluzione

È possibile memorizzare nella cache in un file utilizzando serializzare e file_put_contents:

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

Si potrebbe anche cache memcached o di un database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top