ОБНОВЛЕНИЕ: Я решил воспользоваться приведенным ниже советом и внедрить уровень Memcached в свое приложение. Теперь у меня есть другая мысль. Было бы возможно / хорошая идея сделать запрос AJAX в опросе (скажем, каждые пять или десять минут), который проверяет Memcached и затем обновляет, когда истекает Memcached? Таким образом, конечный пользователь никогда не сталкивается с задержкой, поскольку он выполняется в фоновом режиме.
Я использую REST API Directed Edge для рекомендаций по моему веб-приложению. Проблема, с которой я сталкиваюсь, заключается в том, что я запрашиваю значительное количество рекомендаций в нескольких местах по всему сайту, и задержка является значительной, заставляя страницу загружаться примерно на 2-5 секунд для каждого запроса. выглядит ужасно.
Я не использую PHP-привязки Directed Edge, а вместо этого использую некоторые PHP-привязки, которые я написал сам. Вы можете увидеть привязки на GitHub . Я подключаюсь к их API, используя cURL .
Как я могу кэшировать данные, которые я получаю? Я открыт для любого количества методов, если они довольно просты в реализации и достаточно гибки.
Вот пример кода клиента для получения рекомендаций.
$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);