将Laravel 4查询缓存应用于所有数据库读取

将Laravel 4查询缓存应用于所有数据库读取,laravel,laravel-4,Laravel,Laravel 4,根据文档,Laravel 4在其查询生成器中内置了一个查询缓存:只需添加->记住() 有谁能告诉我如何将此方法应用于我的应用程序中的所有查询,而不向其中的每个数据库调用追加->memory()?我想是某种后过滤器。您可以扩展查询生成器,只需重载get()方法,首先调用memory(),然后执行get()语句 但是,实际上,如果您想缓存每个查询,那么最好只在数据库级别进行缓存。例如,MySQL有一个配置选项,可以在一定时间内自动缓存所有查询。但是,在执行大量插入/更新/删除的应用程序中,这将导致性

根据文档,Laravel 4在其查询生成器中内置了一个查询缓存:只需
添加->记住()


有谁能告诉我如何将此方法应用于我的应用程序中的所有查询,而不向其中的每个数据库调用追加
->memory()
?我想是某种后过滤器。

您可以扩展查询生成器,只需重载
get()
方法,首先调用
memory()
,然后执行
get()
语句

但是,实际上,如果您想缓存每个查询,那么最好只在数据库级别进行缓存。例如,MySQL有一个配置选项,可以在一定时间内自动缓存所有查询。但是,在执行大量插入/更新/删除的应用程序中,这将导致性能低下,因为每次这样的调用都会清除该表的缓存

如果同时执行插入/更新/删除操作,则在每个查询中使用Laravel也意味着获取过时的数据,因此每次更新时都必须清除缓存

最佳实践是努力决定是否应该缓存查询