Pregunta

ACTUALIZACIÓN: he decidido tomar el consejo de abajo y poner en práctica un nivel de Memcached en mi aplicación. Ahora tengo otro pensamiento. ¿Sería posible / una idea buena de hacer una petición AJAX en una encuesta (por ejemplo, cada cinco o diez minutos) que los controles Memcached y luego actualiza cuando Memcached ha expirado? De esta manera la latencia no es experimentado por el usuario final porque se lleva a cabo en un segundo plano.


Estoy usando la API REST de Directed Edge para hacer recomendaciones sobre mi aplicación web. El problema que estoy encontrando es que me consulta para un número importante de recomendaciones en múltiples lugares en todo el sitio, y la latencia es significativa, por lo que la carga de la página algo así como 2-5 segundos para cada consulta. se ve terrible.

No estoy usando PHP fijaciones de Directed Edge, y en su lugar estoy usando algunos enlaces de PHP que escribí yo mismo. Se puede ver los enlaces en GitHub . Estoy conectando a su API usando cURL .

¿Cómo puedo almacenar en caché los datos que estoy recibiendo? Estoy abierto a cualquier número de métodos, siempre y cuando que son bastante fáciles de implementar y bastante flexible.

Este es un ejemplo del código de cliente para obtener recomendaciones.

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

Solución

Se puede almacenar en caché en un archivo utilizando serializar y file_put_contents:

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

Usted podría también caché de memcached o una base de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top