我已经更新了github上的数据,但节点模块请求仍然获取旧数据

时间:2016-03-23 15:55:54

标签: node.js caching request

我在github上放了一些数据 我使用节点模块"请求"从中获取数据。
我在github上更新我的数据后 nodejs仍然可以获得大约五分钟的旧数据 这是我的代码的一部分。

var url = "https://raw.githubusercontent.com/Larry850806/facebook-chat-bot/master/db.json";
request({ url: url, json: true }, function(error, response, body){
    if (!error && response.statusCode === 200) {
        console.log(body); // Print the json response
        // after I update data, body still get old data
    }
});

我认为这是因为有一个缓存 所以我无法得到真实的"数据,但旧数据 有没有办法获得最新数据?

1 个答案:

答案 0 :(得分:2)

确实存在Github缓存。您可能想要尝试的一件事是将随机查询字符串附加到您请求的文件的末尾。

例如:

var url = "https://raw.githubusercontent.com/Larry850806/facebook-chat-bot/master/db.json?random=<randomnumberhere>";
request({ url: url, json: true }, function(error, response, body){
    if (!error && response.statusCode === 200) {
        console.log(body); // Print the json response
        // after I update data, body still get old data
    }
});

这有时会“强制”后端服务器中断缓存(如果他们正在寻找查询字符串)。