1

私は現在、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

私はキャッシングに精通しておらず、実際にそれに対処する必要はありませんでした。誰かが私にいくつかのベストプラクティスのアドバイスを与えることができます。

ありがとう

4

1 に答える 1

0

PHP + MySQL でのキャッシングに関するパフォーマンスを向上させるには、memcached を使用できます。

キャッシングのパフォーマンスをさらに高めるには、オペコード キャッシングとメタ キャッシングを利用できます。

オペコードのキャッシング

メタキャッシング

于 2012-08-25T08:02:54.940 に答える