简而言之:如果我不知道完整密钥但只知道完整密钥的开头或部分内容,如何从Laravel缓存中删除一个或多个条目?
总之:我正在使用一个创建“动态”缩略图的插件,并将它们存储在缓存中,给定一个原始文件
即。原始文件:
my-file.jpg
创建Thumb时,它们存储在缓存中:
1459069074s:67:"http://mysite/thumbs/my-file_150x150.jpg";
1455783174s:62:"http://mysite/thumbs/my-file_300x300.jpg";
...
当我删除my-file.jpg
时,我也可以删除glob()
的相关缩略图,这是一个简单的部分(我不必检索_widthxheight.jpg
后缀,{{1}这对我来说)...但是条目仍然驻留在缓存中,并且不知道如何使用glob()
删除它们...
我可以使用Cache::forget('key')
,但这会影响所有缓存的项目,看起来有点过分......
由于
答案 0 :(得分:0)
哦,找到了解决方案!由于我有缩略图路径(使用glob()
),我可以遍历这些路径,使用pathinfo()
检索文件名并将其用作删除缓存项目的键