我目前正在使用express从NodeJS编写API,从Sqlite数据库中检索数据。包含要检索的数据的表有三列:
- ID - 整数
- VALUE - Real
- DATERECORDED - 整数
将返回过去五个月的数据,为此,我使用以下查询:
SELECT ID, VALUE FROM DATA WHERE DATERECORDED BEWTEEN date('now') AND date('now', '-5 months')
我最近从数据库中删除了几条记录并输入了新记录。但是,当我向我的API发出GET请求时,我仍然会收回当旧记录包含在数据库中时将返回的数据。我甚至删除了数据库中的所有记录,但旧的结果仍然被返回。反正我是否可以阻止这种缓存?
我也尝试将cache_size
设置为0.查询正在以下代码中使用:
app.get('/get-data', function(req, res) {
console.log('Sending performance');
var stmnt = // query comes here
if(!exists) {
res.send({});
} else {
var db = new sqlite3.Database(db_path);
db.all(stmnt, function(err, rows) {
if(err) {
res.send({});
}
if(rows) {
var docs = {};
var by_id = _.groupBy(rows, function(row) {
return row.ID;
});
for(var key in by_id) {
if(by_isp.hasOwnProperty(key)) {
docs[key] = _.map(by_id[key], 'VALUE');
}
}
res.send(docs);
} else {
res.send({});
}
});
db.close();
}});