正如我们所知,PHP缓存了file_exists()
,filesize()
等函数的返回值,给开发人员带来了相当大的烦恼。我经常会看到并听到诸如“您必须在文件信息调用之前放置clearstatcache()
”或“编写您自己的real_filesize()
并将clearstatcache()
放在第一行”这样的建议。我看到很多代码都填充了很多clearstatcache()
个调用。此外,无法清除每个文件的缓存,您必须每次都清除整个缓存。
真正的软件要么a)很少请求文件信息,要么b)需要新的信息。如果有人真的需要缓存,他们可以通过一些编码轻松实现它。
所以,目前我只能看到这种缓存的缺点。我认为,filestat缓存是PHP中的主要破解之一,它也包含在PHP7中。问题是那个知道:以这种不可用的方式缓存文件信息有什么好处?