Laravel 4缓存:会忘记一个关键只影响单个用户或所有用户吗?

时间:2014-06-14 08:07:49

标签: php caching laravel-4

假设我缓存了一个Eloquent列表查询,如下所示:

Article::with('comments')->remember(5, 'article_comments')->get();

当我更新/删除该模型时,显然我必须Cache::forget('article_comments')生成/更新新列表。

现在,在我的应用程序设计中,这些更新/删除只发生在一个用户身上,所以我希望Cache::forget('article_comments')只会忘记当前用户的查询列表,而不是整个网络中的所有用户。

所以,我的问题是,Cache::forget()会删除所有用户的整个缓存,还是只删除当前用户计算机中的缓存?

1 个答案:

答案 0 :(得分:1)

它将为每个人删除它。如果要为特定用户缓存某些内容,则该密钥对于该用户而言必须是唯一的。通常,这可以通过命名article_comments_1之类的密钥来完成,其中1是用户ID。