Pergunta

ATUALIZAR: Decidi seguir o conselho abaixo e implementar um nível de memcached no meu aplicativo. Agora tenho outro pensamento. Seria possível/uma boa idéia fazer uma solicitação de Ajax em uma pesquisa (digamos a cada cinco ou dez minutos) que verifica o memcach e depois atualiza quando o memcached expirou? Dessa forma, a latência nunca é experimentada pelo usuário final porque é executado silenciosamente em segundo plano.


Estou usando a API REST da Directed Edge para fazer recomendações no meu aplicativo da web. O problema que estou encontrando é que consultei um número significativo de recomendações em vários lugares do site e A latência é significativa, tornando a página carregar algo como 2-5 segundos para cada consulta. Parece terrível.

Não estou usando as ligações do PHP da Directed Edge e, em vez disso, estou usando algumas ligações do PHP que escrevi. Você pode ver as ligações no github. Estou me conectando à API deles usando Curl.

Como posso armazenar em cache os dados que estou recebendo? Estou aberto a qualquer número de métodos, desde que sejam bastante fáceis de implementar e bastante flexíveis.

Aqui está um exemplo do código do cliente para obter recomendações.

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);
Foi útil?

Solução

Você pode armazenar em cache para um arquivo usando serialize e file_put_contents:

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

Você também pode armazenar em cache para memcached ou um banco de dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top