如何在Grails资产管道控制器操作上放置@Cacheable注释?

时间:2015-09-18 18:17:52

标签: grails sass asset-pipeline

我有一个Grails 2.4.4项目配置了默认的':cache:1.1.8'插件。它还使用默认的“:asset-pipeline:1.9.9”插件。

运行应用程序时,我在日志中看到了这个DEBUG消息:

  

DEBUG simple.MemoryPageFragmentCachingFilter - 找不到GET的可缓存注释:/PROJECTNAME/grails/assets/index.dispatch [controller = assets,action = index]

如何让这条消息消失?我并不是说通过过滤日志文件,我的意思是为资产管道控制器添加一个可缓存的注释,或类似的东西。

更新:事实证明,由于sass-asset-pipeline存在缺陷,我收到了数十条DEBUG日志消息,而不是一条消息:1.9.0。

我更新了sass-asset-pipeline:1.9.1,因为他们说他们在1.9.1修复了一些缓存问题: https://github.com/bertramdev/sass-grails-asset-pipeline/issues/11

1 个答案:

答案 0 :(得分:0)

你不想。缓存响应和方法调用应该使用非常不同的逻辑来缓存静态资源。

通常,静态资源很少更改并且会永久缓存,但使用唯一名称或其他一些机制,以便更改CSS / JS / etc。文件,您可以让客户使用新版本。

但缓存服务方法调用和控制器响应通常更短暂,因为数据库更新通常会触发缓存失效和刷新以确保使用正确的数据。

资产管道插件及其插件插件非常支持智能缓存,您应该在那里进行管理,但不要滥用缓存插件。