php瀏覽器緩衝解決高並發,該如何解決

來源:互聯網
上載者:User
php瀏覽器緩衝解決高並發
我在頁面頭部這樣寫了一個緩衝,
$cache_time = 60*10; //十分鐘緩衝
$modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE'];
if( strtotime($modified_time)+$cache_time > time() ){
header("HTTP/1.1 304");
exit;
}
header("Last-Modified: ".gmdate("D, d M Y H:i:s", time() )." GMT");
echo "
";
echo date('Y-m-d H:i:s',time());
?>

問題一:
瀏覽器在這十分鐘之內只會從瀏覽器去取資料;
問題二:
如果資料庫的資料更新,動態網頁面就不是動態網頁面的,讀的還是瀏覽器的。怎樣可以做到頁面更新,緩衝重新開始計算呢?有什麼辦法可以頁面變動緩衝重新開始?
線上求告訴回答!
大家一般都是怎麼解決高並發的問題的呢?
------解決方案--------------------
php只能做一些資料緩衝,解決高並發需要從伺服器入手,比如你的Apache,Ngix緩衝可以參考smarty
------解決方案--------------------
調用緩衝是在,資料沒有更新的時候,去調用緩衝,在調用緩衝的時候應該去判斷 資料是否更新 如果存在更新 你再去重新請求資料
------解決方案--------------------
你這種緩存重新整理就會更新。
------解決方案--------------------
每次訪問頁面,瀏覽器都會像服務端發起請求,你看到的304,200等是服務端告訴瀏覽器的,而不是瀏覽器自己判定的。對於動態網頁面,即使你設了緩衝時間,如果資料變動,預設還是會返回最新的資料,而不是瀏覽器緩衝的資料。
------解決方案--------------------
做緩衝的話不一定要這麼做,可以用memcache,比你這麼弄好... 個人想法
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.