频道栏目
首页 > 资讯 > 生成静态 > 正文

实现PHP页面静态化

16-01-06        来源:[db:作者]  
收藏   我要投稿
网站一般都需要与数据库进行打交道,访问量较大时会对数据库造成很大的压力。将一些动态页面执行的结果进行缓存,当下次进行访问时,直接访问缓存可以减少对数据库的压力。同时也可以加快服务器的响应速度。缓存的结果可以存放到外存上,也可以存在内存中。在下一次访问该页面时直接从外存(内存)中直接读取上次的结果。
";
			echo file_get_contents("static.html");
			$end_time   = microtime();
			echo "静态文件使用时间:".($end_time-$start_time);
			exit;
		}
	}
	//如果是首次访问,或者是上次缓存的时间超过3分钟,则从数据库中读取数据
	$host     = "127.0.0.1";
	$user     = "root";
	$password = "123456";
	//记录开始时间
	$start_time = microtime();
	mysql_connect($host,$user,$password);
	mysql_select_db("mydb");
	mysql_query("set names utf8");
	
	$sql 		= "SELECT name,address,email FROM users";
	$resource 	= mysql_query($sql);
	echo "我是从数据库中读取的数据:
"; ob_start();//打开输出缓冲 echo ""; //输出取得的信息 while($userInfo = mysql_fetch_assoc($resource)){ echo ""; echo ""; echo ""; echo ""; echo ""; } $end_time=microtime(); $str=ob_get_contents();//获取缓冲区的内容 ob_end_flush(); echo "从数据库读数据的时间:".($end_time-$start_time); file_put_contents("static.html",$str); ?>
姓名地址Email
".$userInfo['name']."".$userInfo['address']."".$userInfo['email']."

users表中有三条记录,使用的是apache服务。测试结果如下:
从数据库中读数据其平均执行时间为:0.0008041s左右

直接读缓存文件期平均执行时间为:0.0000475

数据库中的记录只有三条,SQL也是简单的单表查询,当表的中记录很多时,或者是多表查询其执行的时间将会更长。缓存虽然能够减少访问数据库的次数,加速响应时间,但缓存并不适合所有的页面。有些页面可能每次访问时其页面的显示的内容就会发生变化,这样的页面显然不能使用缓存。对于那些变化很少的页面才比较适合使用缓存。

相关TAG标签
上一篇:浅解伪静态在phpWind中的应用
下一篇:大话XML(目录)
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站