就低流量网站的速度而言,以下代码片段之间是否存在明显差异?
$html = file_get_contents('cache/foo.html');
if ($html) {
echo $html;
exit;
}
Run Code Online (Sandbox Code Playgroud)
或这个:
$file = 'cache/foo.html';
if (file_exists($file)) {
echo file_get_contents($file);
exit;
}
Run Code Online (Sandbox Code Playgroud)
在第一个片段中,有一个对 file_get_contents() 的调用,而在第二个片段中,也有一个对 file_exists() 的调用。该页面确实涉及数据库访问 - 而这种缓存将完全避免这种情况。
小智 3
在低流量网站上速度会明显变慢;但如果您要获取内容(如果存在),则没有理由执行该检查,因为file_get_contents()已经在幕后执行该检查,false如果文件不存在则返回。
file_get_contents()您甚至可以直接在条件内部调用:
if ($html = file_get_contents('cache/foo.html')) {
echo $html;
exit;
}
Run Code Online (Sandbox Code Playgroud)