我在Google App Engine中开发Java应用程序,但我遇到了问题。 我希望能够从管理控制台控制应用程序数据库,但它似乎无法正常工作,当我更改数据库中的数据时,它没有反映在应用程序上,即我有一个我想要锁定的用户我更改了值active =" false",我可以看到数据库中的新值,但是当应用程序发出另一个请求时,我得到了前一个值(以JSON格式)。
我假设它有缓存,所以我试图从JavaScript和Java中取消它,如下所示:
JavaScript的:
$.ajaxSetup({
cache: false,
type: 'POST',
headers: {
"cache-control": "'no-cache, max-age=0",
"Pragma": "no-cache"
}
});
爪哇:
response.addHeader("Cache-Control", "no-cache, private, must-revalidate, max-age=0");
response.addHeader("Pragma", "no-cache");
我还能做什么?
答案 0 :(得分:1)
我发现了我的问题,这与使用Persistence Manager的缓存没有问题。
我使用了PM的2个实例,这就是造成差异的原因。
答案 1 :(得分:-1)
您可以尝试配置您的服务器。假设apache:
# mod_expires directives:
# enable expires/max-age headers and set default to 0 seconds from last access time
ExpiresActive On
ExpiresDefault A0
# configure ExpiresByType on your specific types, eg ExpiresByType text/css A0
# mod_headers directives:
# send variety of no-cache directives, should cover any quirky clients and gateways
Header set Cache-Control "max-age=0, private, no-cache, no-store, must-revalidate, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
# enclose this in <Files> directive for specific file eg <Files *.js>
这是一篇关于解释网页缓存的好文章:http://www.mnot.net/cache_docs/