如何在Grails中创建缓存?

如何在Grails中创建缓存?,grails,groovy,Grails,Groovy,这里是我正在尝试或做的,我只是在一个页面中显示大约100个任务实例。显示的任务是链接(单击启用),单击它将进入特定的任务实例显示页面。从该显示页面,用户可以返回到之前的页面,即显示100个任务的页面 现在我再次从DB中获取这100个任务实例,我需要一种方法来“缓存”它们,这样就不需要再次获取。有没有办法做到这一点 编辑: 值得注意的是,我有这样一段代码,如果用户点击页面底部的滚动条并获取更多数据,这段代码就会起作用: (function() { jQ

这里是我正在尝试或做的,我只是在一个页面中显示大约100个
任务
实例。显示的任务是链接(单击启用),单击它将进入特定的
任务
实例显示页面。从该显示页面,用户可以返回到之前的页面,即显示100个
任务的页面

现在我再次从DB中获取这100个任务实例,我需要一种方法来“缓存”它们,这样就不需要再次获取。有没有办法做到这一点

编辑: 值得注意的是,我有这样一段代码,如果用户点击页面底部的滚动条并获取更多数据,这段代码就会起作用:

 (function() {
                      jQuery(function() {
                        return $(window).scroll(function() {
                          var url;
                          url = $('.pagination .nextLink').attr('href');
                          if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
                            $('.pagination').show();
                            $('.pagination').text('Fetching more data please wait...');
                            return $.get(url, function(data) {
                              $('#scrolling').append(data);
                              return $('.pagination').hide();
                            });
                          }
                        });
                      });
                    }).call(this);
现在的问题是,尽管在我的控制器代码和缓存中添加了
cache:true
,但由于这个jquery代码,我再次获取数据

我该怎么阻止这一切


提前感谢。

Grails支持hibernate二级缓存。您可以在域对象中启用它,例如:

class Book {
    …
    static mapping = {
        cache true
    }
}

有关详细信息,请查看或了解Grails支持hibernate二级缓存。您可以在域对象中启用它,例如:

class Book {
    …
    static mapping = {
        cache true
    }
}

有关详细信息,请查看或

缓存:true
参数将域对象缓存在Hibernate的二级缓存中。这是应用程序和数据库之间的缓存。换句话说,如果再次从Grails中获取相同的对象,它将从内存(二级缓存)中获取对象,而不会再次查询数据库


这不会在浏览器和应用程序之间缓存请求。幸运的是,浏览器已经有了用于此目的的缓存。

cache:true
参数将域对象缓存在Hibernate的二级缓存中。这是应用程序和数据库之间的缓存。换句话说,如果再次从Grails中获取相同的对象,它将从内存(二级缓存)中获取对象,而不会再次查询数据库


这不会在浏览器和应用程序之间缓存请求。幸运的是,浏览器已经有了一个用于此目的的缓存。

现在这样做的原因是什么?我一直在更新我的查看页面!这是什么意思?我一直在更新我的查看页面!