查询以前缓存的资源

时间:2017-04-17 05:23:40

标签: php laravel caching memcached

我正在使用Laravel 5.1和memcached,我正试图找到一种方法来查询以前缓存过的一些数据。

例如,假设我有一堆来自缓存的电子邮件的事件,例如点击,打开等。

我将为一个特定用户缓存所有事件,如下所示:

$events = \Cache::section(Events::table())->remember('events-' . Session::get('uid'), 30, function() {
   return Events::select()
      ->where('user_id', Session::get('uid'))
      ->get();
});

现在我希望能够在用户查看特定电子邮件时查询$ events,所以它会是这样的:

$events->where('email_id', $id)->get();

我一直无法找到正确执行此操作的方法,而且我不太确定要搜索什么。到目前为止,我所尝试的一切都失败了。

我认为这是可能的,我只是不知道如何去做。

1 个答案:

答案 0 :(得分:0)

缓存将返回事件集合。所以$event有项目集合。

要获取数据,您需要使用all()收集方法,如下所示:

$events->where('email_id', $id)->all();

如果您未向get()提供任何密钥,则会返回null。 点击此处:https://laravel.com/docs/5.4/collections#method-get

有关Collectionhttps://laravel.com/docs/5.4/collections#method-contains

的可用方法的更多信息,请参阅
相关问题