zfxcms ^回到顶部

您的当前位置:首页 > 架构 > 架构思想 > 高并发解决方案-动态语言静态化

高并发解决方案-动态语言静态化

所属分类: 架构思想   2020-03-21 15:45:17  编辑:admin  浏览次数 543 次

将现有的PHP动态语言的逻辑代码生成静态的HTML文件,用户访问动态脚本重新定向到静态HTML文件的过程。

动态脚本通常会做逻辑计算和数据查询,访问量大时,服务器压力越大

解决方案

image.png

image.png

如果没有用smarty模板

则原生实现:

ob_start():打开输出控制缓冲

写输出到页面的html代码

ob_get_content():返回输出缓冲区的内容

//ob_clean():清空缓冲区

ob_end_flush():冲刷出缓冲区的内容并关闭缓冲区

fopen()写入

<?php
$cache_name = md5(__FILE__).'html';
$cache_lifetime = 3600;
//如果名称存在,或者过期 或者文件被更改
if(filectime(__FILE__) <= filectime($cache_name) && file_exists($cache_name) && filectime($cache_name) 
+ $cache_lifetime > time())
{
	include $cache_name;
	exit;
}
ob_start();
?>
<b> 我是臧富祥 哈哈</b>
<?php
$content = ob_get_contents();

ob_end_flush();
//打开资源
$handel = fopen($cache_name,'w');
//写入
fwrite($handel,$content);
//关闭
fclose($handel);

?>

//如果值不同页面不同
$id = $_GET['id'];
if(empty($id)){$id = ''}
$cache_name = md5(__FILE__).'-'. $id .'html';

服务器文章检索

服务器文章目录