Php Laravel 5:忘记缓存不工作
我尝试使用以下方法删除特定的缓存数据:Php Laravel 5:忘记缓存不工作,php,laravel,caching,laravel-5,Php,Laravel,Caching,Laravel 5,我尝试使用以下方法删除特定的缓存数据: Cache::forget('key'); 也试过 Cache::pull('key'); 但缓存仍然存在于数据库中 注意:我正在使用数据库缓存,Laravel 5.1.7找到了答案,问题发生的原因是我用前缀从DB复制缓存键,Laravel通常会添加另一个前缀,如果有人需要它,它将永远不会匹配,我的问题是因为文件权限。因此,您可以在项目的根目录中尝试此命令chmod-R 755.。但是,我确实使用了chmod-R 777。,但不建议这样做。对于记录:如
Cache::forget('key');
也试过
Cache::pull('key');
但缓存仍然存在于数据库中
注意:我正在使用数据库缓存,Laravel 5.1.7找到了答案,问题发生的原因是我用
前缀从DB复制缓存键,Laravel通常会添加另一个前缀,如果有人需要它,它将永远不会匹配,我的问题是因为文件权限。因此,您可以在项目的根目录中尝试此命令chmod-R 755.
。但是,我确实使用了chmod-R 777。
,但不建议这样做。对于记录:如果您正在使用,忘记方法将不起作用。这就是我设法解决问题的方法:
$cache_key = "MY_CACHE_KEY";
$cache_tags = ["MY_CACHE_TAG"]; //SOMETIMES I USE MULTIPLE TAGS
if (\Cache::tags($cache_tags)->has($cache_key)) {
\Cache::tags($cache_tags)->forget($cache_key);
$results = "CACHE item " . $cache_key . " forgotten";
} else {
$results = "Key " . $cache_key . " IS NOT CACHED";
}
您确定密钥在缓存中吗?使用Cache::has('key')进行检查yes,我确定=>我从数据库复制了key。您能详细说明一下这句话吗?您是如何解决的?