Laravel:删除只知道部分密钥(而不是完整密钥)的缓存项
简而言之:如果我不知道完整密钥,但只知道其开头或部分,如何从Laravel缓存中删除一个或多个条目 长文:我正在使用一个插件创建“动态”缩略图,并将它们存储在缓存中,给定一个原始文件 i、 e.原始文件:Laravel:删除只知道部分密钥(而不是完整密钥)的缓存项,laravel,caching,Laravel,Caching,简而言之:如果我不知道完整密钥,但只知道其开头或部分,如何从Laravel缓存中删除一个或多个条目 长文:我正在使用一个插件创建“动态”缩略图,并将它们存储在缓存中,给定一个原始文件 i、 e.原始文件: my-file.jpg 存储在缓存中时创建的拇指: 1459069074s:67:"http://mysite/thumbs/my-file_150x150.jpg"; 1455783174s:62:"http://mysite/thumbs/my-file_300x300.jpg"; ..
my-file.jpg
存储在缓存中时创建的拇指:
1459069074s:67:"http://mysite/thumbs/my-file_150x150.jpg";
1455783174s:62:"http://mysite/thumbs/my-file_300x300.jpg";
...
当我删除my file.jpg
时,我还可以使用glob()
删除相关的缩略图,这是最简单的部分(我不必检索\u widthxheight.jpg
后缀,glob()
为我做这件事)。。。但条目仍然驻留在缓存中,不知道如何使用cache::forget('key')
删除它们
我可以使用Cache::flush()
,但这会影响所有缓存项,而且似乎有点过度
谢谢哦,找到了解决方案!因为我有缩略图路径(使用
glob()
),所以我可以在这些路径中循环,使用pathinfo()
检索文件名,并将它们用作删除缓存项的键