私は現在、RSSフィードを取得するWebサイトを運営していますが、RSSリンクをクリックすると、Webページに移動しますが、そのWebページの読み込みが非常に遅くなります。
私はそのウェブページをキャッシュして本当に速くロードすることを探しています。これを行うための最良の方法は、プロジェクトにキャッシュフォルダーを作成し、各ファイルをそのフォルダーにキャッシュして、以下の例から提供することです。
<?php
foreach ($source_xml->channel->item as $rss) {
$title = trim($rss->title);
$link = $rss->link;
$html = $title . '.html';
$homepage = file_get_contents($link);
file_put_contents('cache/' . $html, $homepage);
}
?>
これは多くのフィードで非常に時間がかかります。これがデータベースの作成を試み、テキストフィールドであるキャッシュと呼ばれる追加のフィールドがある場合にこれが最も生産的な方法であるかどうかはわかりません。次に、file_get_contentsからの出力をその例に保存します。下。
<?php
foreach ($source_xml->channel->item as $rss) {
$title = trim($rss->title);
$link = $rss->link;
$cache = file_get_contents($link);
$data = array(
'title' => $title,
'link' => $link,
'cache' => $cache
);
echo $this->cron_model->addResults($data);
}
?>
これは機能しますが、mysqlを見るとこの問題が発生します
Because of its length,
this column might not be editable
私はキャッシングに精通しておらず、実際にそれに対処する必要はありませんでした。誰かが私にいくつかのベストプラクティスのアドバイスを与えることができます。
ありがとう