簡體   English   中英

Grails查詢緩存被忽略

[英]Grails query cache is ignored

我有一個主要是讀取的應用程序,因此大多數查詢都使用Hibernate二級查詢緩存。 我有一個必須在每次加載頁面時執行的查詢,所以我從布局GSP中調用它,如下所示:

${Book.countByApproved(true, [cache: true])}

我通過添加為Book類啟用了二級緩存

static mapping = {
    cache true
}

Book.groovy 我還在DataSource.groovy配置了以下內容

hibernate {
  cache.use_second_level_cache = true
  cache.use_query_cache = true
  cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
}

在同一個文件中,我通過在dataSource塊中添加logSql=true來啟用查詢日志記錄。

每次加載頁面時, Book.countByApproved(true)記錄Book.countByApproved(true)查詢,因此我認為這意味着未從查詢緩存中檢索結果? 我在本地運行所有內容,因此緩存查詢結果已過期,因此不可能丟失緩存。

我不知道這是否相關,但我正在使用Hibernate Filters插件並為Book類配置了默認過濾器。 使用hibernate過濾器和查詢緩存可能存在一些問題?

如果我沒錯的話。 有一個問題與你的問題完全相同,建議不要在GSP中使用查詢。 在過濾器中嘗試此操作,查看緩存是否有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM