Я использую simpleXML для прохождения XML-результатов XML-файла Twitter, но я полностью потерял кеширование результатов с помощью PHP. Эта статья, похоже, немного помогает, но я столкнулся с memcache (и memcached. C'mon, namers.), И я не знаю, что делать.
Я использую это:
$sxml = simplexml_load_file( 'http://api.twitter.com/1/qworky/lists/qworkyteam/statuses.xml'); foreach($sxml->status as $status){ $name = $status->user->name; $image = $status->user->profile_image_url; $update = $status->text; $url = "http://twitter.com/" . $status->user->screen_name; }
просто хранить XML-данные в списке Twitter в пригодных для использования переменных. Но что делать? Создайте файл кэша и запустите этот блок только в PHP, если файл кеша старше десяти минут, иначе выполните кэшированные переменные? Как передать кешированные переменные назад и вперед между кэшированным файлом и DOM? Черт, какое расширение и имя файла имеет кэш-файл?
Большое спасибо за любой способ, который вы можете указать мне в здоровом направлении.
Джошуа взгляните на эту статью о простом кэшировании PHP, вы можете сделать то, что вы описали с относительной легкостью (и да, вероятно, самый разумный путь).
В качестве общей концепции кэширование не подразумевает стратегию реализации. Распространенная идея заключается в том, что вы храните информацию где-нибудь, что обеспечивает более эффективный доступ, чем когда вы получили данные изначально.
Таким образом, в этом случае эффективнее получать данные с диска, чем требовать Twitter (как правило, латентность сети больше, чем латентность IO).
Кроме того, получение данных из памяти более эффективно, чем получение информации с диска (поскольку латентность памяти меньше задержки ввода-вывода на диске).
При этом вы можете сохранить значения из Twitter в памяти, если хотите, или в файл на диске, если вам нужны значения, которые нужно сохранить, не говоря уже о выключении. Как вы это делаете, зависит от вас (диск или память, расширения, формат и т. Д. И т. Д.). Это ваш кеш.
Вещь, о которой вы должны быть осторожны, – это кеш, растущий устарелый. Это когда информация, которая у вас в вашем кеше, не синхронизирована с исходным источником данных. Вы должны сделать определение для своего приложения, насколько приемлемыми являются устаревшие данные, и потребовать, по мере необходимости, заменять свои значения кеша.