以下代码片段在低流量网站上的速度方面是否存在明显差异?
$html = file_get_contents('cache/foo.html');
if ($html) {
echo $html;
exit;
}
或这个:$file = 'cache/foo.html';
if (file_exists($file)) {
echo file_get_contents($file);
exit;
}
在第一个片段中,有一个对 file_get_contents() 的调用,而在第二个片段中,还有一个对 file_exists() 的调用。该页面确实涉及数据库访问 - 这种缓存将完全避免这种情况。
最佳答案
在低流量的网站上,它会明显变慢;但是如果您要获取内容(如果存在),则无论如何都没有理由执行该检查,因为 file_get_contents()
已经在幕后执行该检查,返回 false
如果文件不存在。
您甚至可以拨打 file_get_contents()
直接在条件内部:
if ($html = file_get_contents('cache/foo.html')) {
echo $html;
exit;
}
关于php - 如何编写文件检查代码以获得最佳性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69477949/