php浏览器缓存解决高并发,该如何解决

WBOY
リリース: 2016-06-13 11:49:03
オリジナル
1284 人が閲覧しました

php浏览器缓存解决高并发
我在页面头部这样写了一个缓存,

<?php <br />$cache_time = 60*10; //十分钟缓存<br />$modified_time = @$_SERVER['HTTP_IF_MODIFIED_SINCE']; <br />if( strtotime($modified_time)+$cache_time > time() ){ <br />    header("HTTP/1.1 304"); <br />    exit; <br />} <br />header("Last-Modified: ".gmdate("D, d M Y H:i:s", time() )." GMT");  <br />echo "<br />";<br />echo date('Y-m-d H:i:s',time()); <br />?>
ログイン後にコピー

问题一:
浏览器在这十分钟之内只会从浏览器去取数据;
问题二:
如果数据库的数据更新,动态页面就不是动态页面的,读的还是浏览器的。怎样可以做到页面更新,缓存重新开始计算呢?有什么办法可以页面变动缓存重新开始?
在线求告诉回答!

大家一般都是怎么解决高并发的问题的呢?
------解决方案--------------------
php只能做一些数据缓冲,解决高并发需要从服务器入手,比如你的Apache,Ngix缓存可以参考smarty
------解决方案--------------------
调用缓存是在,数据没有更新的时候,去调用缓存,在调用缓存的时候应该去判断 数据是否更新 如果存在更新 你再去重新请求数据
------解决方案--------------------
你這種緩存刷新就會更新。
------解决方案--------------------
每次访问页面,浏览器都会像服务端发起请求,你看到的304,200等是服务端告诉浏览器的,而不是浏览器自己判定的。对于动态页面,即使你设了缓存时间,如果数据变动,默认还是会返回最新的数据,而不是浏览器缓存的数据。
------解决方案--------------------
做缓存的话不一定要这么做,可以用memcache,比你这么弄好... 个人想法

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!