如何在Grails中创建缓存?
这里是我正在尝试或做的,我只是在一个页面中显示大约100个如何在Grails中创建缓存?,grails,groovy,Grails,Groovy,这里是我正在尝试或做的,我只是在一个页面中显示大约100个任务实例。显示的任务是链接(单击启用),单击它将进入特定的任务实例显示页面。从该显示页面,用户可以返回到之前的页面,即显示100个任务的页面 现在我再次从DB中获取这100个任务实例,我需要一种方法来“缓存”它们,这样就不需要再次获取。有没有办法做到这一点 编辑: 值得注意的是,我有这样一段代码,如果用户点击页面底部的滚动条并获取更多数据,这段代码就会起作用: (function() { jQ
任务实例。显示的任务是链接(单击启用),单击它将进入特定的任务
实例显示页面。从该显示页面,用户可以返回到之前的页面,即显示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中获取相同的对象,它将从内存(二级缓存)中获取对象,而不会再次查询数据库
这不会在浏览器和应用程序之间缓存请求。幸运的是,浏览器已经有了一个用于此目的的缓存。现在这样做的原因是什么?我一直在更新我的查看页面!这是什么意思?我一直在更新我的查看页面!