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


Laravel 4 cache: will forgetting a key affect only single user or all user?

假设我缓存了一个Eloquent列表查询:

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

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

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

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

它会为所有人删除它。如果您希望为特定用户缓存某些内容,那么对于该用户,键需要是唯一的。通常通过将键命名为article_comments_1这样的东西来完成,其中1是用户ID。