使用flask时缓存的JSON文件

时间:2017-09-08 11:09:58

标签: javascript python html json caching

我正在尝试在js + python中创建一个可视化应用程序。我的应用程序是这样的:

    浏览器中的
  1. 我有一个文本框,我在其中引入了一个URL

  2. 我使用Flask

  3. 将该网址发送到python 在python中的
  4. 我拿了那个url,我处理它,然后创建一个JSON文件

  5. 在js中我拿了那个JSON文件,然后在浏览器中显示结果

  6. 我遇到的问题:我在浏览器中介绍网址,点击提交,然后显示结果,这没关系。但是下次当我引入另一个url时,它会显示与前一个相同的结果,如果我引入另一个url,仍然是相同的结果。所以JSON文件以某种方式缓存在某处。要解决这个问题,我必须每次删除旧的JSON文件,并在python代码中重命名新文件。

    我的问题是,我应该在哪里放置此JSON文件以防止缓存?或者还有另一种方式吗?

    我有这种文件层次结构:

    project
       |--- static
               |--- file.js
               |--- file.json
       |--- templates
               |--- file.html
       |--- file.py
    

    这就是我要做的事:http://whichlight.github.io/reddit-network-vis/

1 个答案:

答案 0 :(得分:0)

您有一个文件file.json适用于多个网址。这只有在您一次只处理一个用户时才有效。我假设您正在尝试缓存结果,为此您需要为每个网址使用不同的文件。稍微好一点的方法是使用像redis这样的内存数据库。

但是如果你想要做的只是破坏缓存,那么不要在你的ajax调用中调用file.json,而是使用像file.json?<randomstring>这样的file.json?t=<timestamp>

$.ajax({
  dataType: "json",
  url: url + "?" + (new Date()).getTime(),
  data: data,
  success: success
});