Caching Grails ehcache.xml自定义缓存配置
已创建缓存配置的ehache.xml。 但此文件中的设置仅适用于hibernate 2L缓存 对于自定义缓存(例如缓存服务方法调用:@Cacheable('someCache')),缓存插件设置不起作用Caching Grails ehcache.xml自定义缓存配置,caching,grails,ehcache,grails-2.0,Caching,Grails,Ehcache,Grails 2.0,已创建缓存配置的ehache.xml。 但此文件中的设置仅适用于hibernate 2L缓存 对于自定义缓存(例如缓存服务方法调用:@Cacheable('someCache')),缓存插件设置不起作用 <cache name="someCache" maxElementsInMemory="100" timeToLiveSeconds="86400" timeToIdleSeconds="86400"/> 就像springcache插件一样,我尝试共享cacheManager c
<cache name="someCache" maxElementsInMemory="100" timeToLiveSeconds="86400" timeToIdleSeconds="86400"/>
就像springcache插件一样,我尝试共享cacheManager
cacheManager(EhCacheManagerFactoryBean) {
shared = true
}
哪里没有结果
现在我必须在两个地方编写配置,对于缓存管理,请使用grailsCacheManager.cacheManager&cacheManager.instance
有什么想法吗
Upd:
已创建Config.groovy中的配置
import grails.test.Test
grails.cache.config = {
domain {
name Test
timeToIdleSeconds 3600
timeToLiveSeconds 3600
maxElementsInMemory 50000
}
cache {
name 'myCache'
timeToIdleSeconds 86400
timeToLiveSeconds 86400
maxElementsInMemory 1000
}
defaults {
eternal false
overflowToDisk false
diskPersistent false
timeToIdleSeconds 600
timeToLiveSeconds 3600
memoryStoreEvictionPolicy 'LRU'
}
}
域:
package grails.test
class Test {
static mapping = {
cache 'nonstrict-read-write'
version false
}
}
在控制器中,我调用:
Test.get(params.id)
但缓存为空:
grails.test.test cur大小:0
自定义缓存“myCache”--work看看GrailsEhcache插件。它包含解释如何使用Grails缓存插件DSL配置Hibernate二级缓存的部分。查找“自定义”缓存和两个缓存管理器中的“Hibernate二级缓存”和“Hibernate域类二级缓存”问题。Hibernate二级缓存运行良好为什么需要两个缓存管理器?如果您需要一个用于Hibernate,另一个用于ehcache插件管理的缓存,那么文档将显示如何使用DSL配置它,而不需要ehcache.xmlI更新问题。域缓存的DSL配置不起作用。请参阅解决方法
Test.get(params.id)