获取/添加雄辩模型进行缓存

时间:2015-04-09 18:01:27

标签: php mysql caching eloquent laravel-5

我最近开始深入研究Laravel 5,而且我真的很喜欢挖掘"它。 (嘿,嘿,明白了?......抱歉。)

反正。在我的代码中,我注意到,通过关系,eloquent会执行一系列查询来检索所述关系或加载它们。我试图缓存这些关系的结果,所以(希望如此),我可以将查询数量减少到很少,而是从缓存中拉出来。

在Laravel的早期版本中,我知道可以运行类似User::with('stuff')->remember(5)->get()的内容,它会检索结果并自动缓存它们。但是,正如Eloquent Caching section in Laravel's upgrade guide所示,这已不再可能。

我的问题是,现在应该如何实现模型缓存?我希望将父级与其所有关系缓存,或者(最好)缓存各个模型本身,然后在拉动之前检查它们的缓存。我考虑通过Event::listen('illuminate.query')向所有查询添加一个事件监听器,它会在查询数据库之前检查缓存,但我真的不知道如何从该监听器返回结果。

我觉得我在这里正确的道路,但我错过了一些东西。任何建议或额外信息都会非常有用,提前谢谢。

0 个答案:

没有答案