Laravel 5:忘记缓存无法正常工作

时间:2015-08-20 17:14:33

标签: php laravel caching laravel-5

我尝试使用以下方法删除特定的缓存数据:

Cache::forget('key');

也尝试了

Cache::pull('key');

但缓存仍然存在于DB

注意:我使用的是数据库缓存和Laravel 5.1.7

4 个答案:

答案 0 :(得分:2)

我找到了答案,问题发生了,因为我使用func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) { photoImageView.image=image; } 从数据库复制cache密钥,而Laravel通常会添加另一个prefix,而且它永远不会匹配

答案 1 :(得分:0)

尝试     php artisan cache:clear

在命令行上

答案 2 :(得分:0)

如果有人需要它,我的问题是由于文件许可权。因此,您可以在项目chmod -R 755 .的根目录中尝试此命令。但是,我做了chmod -R 777 .,但是不建议这样做。

答案 3 :(得分:0)

作记录:如果您使用的是cache tags,则forget方法将不起作用。这是我设法解决的问题:

    $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";
    }