Sve*_*sen 6 php caching file-exists
问题很简单:在触摸磁盘时,这两个示例是相同的,还是场景#2触摸磁盘两次?
include '/path/to/file.php';
Run Code Online (Sandbox Code Playgroud)
if (file_exists('/path/to/file.php'))
include '/path/to/file.php';
Run Code Online (Sandbox Code Playgroud)
我知道场景#1触及磁盘一次.现在,据我所知,它file_exists()
缓存路径以及文件是否存在.为了清除您需要调用的缓存clearstatcache()
.
但是include
,等等,是否也使用缓存?或者它是独一无二的file_exists()
?
只需提醒一点:include
使用包含路径.file_exists
没有.除此之外,你显然在寻找问题而不是解决方案(这绝不是错误的,只是说,我的答案可能无法实现你所寻求的,只包括一个片段).
这两个示例都接触磁盘两次 \xe2\x80\x93 读取目录,然后读取文件。在第一个示例中,这两者都发生在一个命令期间,第二个命令将它们分开。\xe2\x80\x99s include() 不太可能再次读取该目录,因为您的操作系统应该包含某种 HD 缓存,该缓存至少应该持续这么长时间。
\n\n但你显然试图过度优化某些东西。除非您在脚本中执行此操作超过 100 次,否则两个选项之间不会有任何性能差异。
\n