2012-08-25 95 views
1

我目前運行一個網站,拉入一個RSS訂閱源,你可以去鏈接,我遇到的問題是當我點擊一個rss鏈接,它將我帶到一個網頁,但該網頁將負載真的很慢。從rss訂閱源緩存鏈接

我正在尋找緩存該網頁,所以它加載得非常快,什麼是最好的方法來做到這一點,我可以在我的項目中創建一個緩存文件夾,然後緩存每個文件到該文件夾​​,然後從他們的例子下面。

<?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 

當我不熟悉的高速緩存和從來沒有真正需要處理它,因爲現在有人可以給我一些最佳實踐我的建議我知道我可以在一起攻擊一些東西,但寧願在未來之前知道正確的方式。

謝謝

+0

「這工作,但在看MySQL時,我得到這個問題」 ---爲什麼你認爲它*是一個問題? – zerkms

+0

只是因爲我不知道是否正確的列類型是文本也許我應該使用處理更多文本的類型? – user1503606

+0

你在最後的評論中的問題並不清楚。 – zerkms

回答

0

爲了在使用PHP + MySQL進行緩存時獲得更好的性能,可以使用memcached。

如需進一步緩存性能,您可以利用指令緩存和緩存元。

指令緩存

元緩存

+0

嗨Mahbubur我一直在閱讀通過使用memcached所以安裝後它將緩存數據庫中的一切,所以memcached將是有用的,如果我去存儲所有的網頁html內容在我的MySQL數據庫?謝謝 – user1503606

+0

不一定適用於所有網頁,如果你不想。僅用於RSS提要,您可以使用memcached。 –