Как я могу кэшировать динамические данные из API для отдыха с помощью PHP?

StackOverflow https://stackoverflow.com/questions/4241418

Вопрос

ОБНОВИТЬ: Я решил взять совету ниже и внедрить мемкачельный уровень в моем приложении. Теперь у меня есть еще одна мысль. Будет ли возможна / хорошей идеей сделать запрос AJAX в опросе (скажем, каждые пять или десять минут), которые проверяют MEMCACHED, а затем обновления, когда срок действия Memcached истек? Таким образом, задержка никогда не испытывалась конечным пользователем, потому что он работает молча на заднем плане.


Я использую REST API направленного края, чтобы сделать рекомендации в моем веб-приложении. Проблема, которую я сталкиваюсь состоит в том, что я запрашиваю значительное количество рекомендаций в нескольких местах по всему сайту, а также Задержка значительна, заставляя страницу загрузить что-то вроде 2-5 секунд для каждого запроса. Это выглядит ужасно.

Я не использую привязки PHP направленного края и вместо этого я использую некоторые привязки PHP, которые я написал. Вы можете увидеть привязки на GitHub. Я подключаю к их API с помощью скручивания.

Как я могу кэшировать данные, которые я получаю? Я открыт для любого количества методов, пока они довольно легко реализовать и довольно гибко.

Вот пример клиентского кода для получения рекомендаций.

$de = new DirectedEdgeRest();
$item = "user".$uid;
$limit = 100;
$tags = "goal";
$recommendedGoals = $de->getRecommended($item, $tags, $limit);
Это было полезно?

Решение

Вы можете кэшировать файл, используя serialize и file_put_contents:

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

Вы также можете получить кэш памятью в MEMCACHED или базу данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top