我正在使用Symfony将某些文件缓存到我的文件系统中。
当前,我有一个YAML文件,该文件将被解码为PHP数组,然后将其与Symfony Caching组件一起存储在缓存中。
当我的YAML文件更改时,即使它已经在缓存中,我也需要重新缓存它。我需要获取缓存文件(包含已解码的YAML)的修改时间,并将其与我的YAML文件进行比较。
如果我的YAML文件的修改时间较新,则需要重新缓存。
但是,如何获取缓存条目的创建时间?我知道Symfony在缓存条目中有创建时间。因此它具有数据,我只是想知道是否有一种干净的方法来获取它。我知道这是因为条目看起来像这样:
1515867059
<CacheEntryName>
<SerializedData>
1515867059是创建时的Unix时间戳。
希望有人可以帮助我。
编辑:我想如果我能获得缓存条目的绝对路径,那也将有所帮助。这样,我可以生成一个SplFileInfo
对象,并从中获取修改时间。
干杯。
目前,Symfony缓存尚无法解决此问题。作为一个临时解决方案,我将时间戳记包含在数组中:
$cached->set([
'value' => $value,
'timestamp' => time()
]);
现在可以使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句