KoaJS 缓存

  • 定义和使用

    缓存是用于存储可重用响应的术语,以便使后续请求更快。每个浏览器都附带一个 HTTP 缓存的实现。
    我们所要做的就是确保每个服务器响应都提供正确的 HTTP 头指令,以指示浏览器何时以及多长时间可以缓存响应。
    以下是在web应用程序中包含缓存的一些好处–
    • 网络成本降低。如果你的内容是缓存的,你需要为以后的每个请求发送更少的内容。
    • 你的网站速度和性能提高。
    • 即使您的客户端处于脱机状态,也可以使您的内容可用。
    我们将使用 koa-static-cache 中间件在我们的应用程序中实现缓存。使用-
    $ npm install --save koa-static-cache
    
  • 示例

    现在在你的 app.js 文件,添加以下代码–
    var koa = require('koa');
    var path = require('path');
    var app = new koa();
    var staticCache = require('koa-static-cache');
    
    app.use(staticCache(path.join(__dirname, 'public'), {
        maxAge: 365 * 24 * 60 * 60  //将这些文件添加到缓存中一年
    }))
    app.listen(3001);
    
    koa 静态缓存中间件用于在客户端缓存服务器响应。缓存控制头是根据我们在初始化缓存对象时提供的选项设置的。我们已将此缓存响应的过期时间设置为1年。以下是缓存文件之前和之后发送的请求的比较。
    在缓存此文件之前,返回的状态代码是 200,这是正常的。响应头包含关于要缓存的内容的多个信息,并且还为内容提供了一个 ETag。
    static
    下一次发送请求时,它与 ETtag 一起发送。由于我们的内容在服务器上没有改变,其对应的 ETag 也保持不变,并且客户端被告知它在本地的副本是服务器提供的最新副本,应该使用本地副本,而不是再次请求。
    注意-要使任何缓存文件失效,只需更改其文件名并更新其引用。这将确保您有一个新文件要发送到客户机,而客户机无法从缓存中重新加载该文件。