开发手册 欢迎您!
软件开发者资料库

Koa.js - Caching

Koa.js Caching - 从简单和简单的步骤学习Koa.js,从基本到高级概念,包括概述,环境,Hello World,生成器,路由,URL构建,HTTP方法,请求对象,响应对象,重定向,错误处理,级联,表单数据,文件上传,模板,静态文件,Cookie,会话,身份验证,压缩,缓存,数据库,RESTful API,日志记录,脚手架,资源。

缓存是用于存储可重用响应的术语,以便使后续请求更快.每个浏览器都附带一个HTTP缓存的实现.我们所要做的就是确保每个服务器响应都提供正确的HTTP头指令,以指示浏览器浏览器何时以及多长时间缓存响应.

以下是一些好处在您的网络应用中包括缓存 :

  • 您的网络成本会降低.如果您的内容已缓存,则每次后续请求都需要发送较少的内容.

  • 网站的速度和效果会提高.

  • 即使您的客户离线,您的内容也可以使用.

我们将使用koa-static-cache中间件在我们的应用程序中实现缓存.使用 : 安装这些中间件;

$ npm install --save koa-static-cache

转到你的app.js文件并添加以下代码.

var koa = require('koa');var app = koa();var path = require('path');var staticCache = require('koa-static-cache');app.use(staticCache(path.join(__dirname, 'public'), {   maxAge: 365 * 24 * 60 * 60  //Add these files to caches for a year}))app.listen(3000);

koa-static-cache 中间件用于缓存客户端的服务器响应. cache-control 标头是根据我们在初始化缓存对象时提供的选项设置的.我们已将此缓存响应的到期时间设置为1年.以下是我们在缓存文件之前和之后发送的请求的比较.

在缓存此文件之前,返回的状态代码为200,这是正常的.响应标头有关于要缓存的内容的多个信息,并且还为内容提供了 ETag .

缓存之前

下次发送请求时,它与ETtag一起发送.由于我们的内容在服务器上没有改变,它的相应ETag也保持不变,并且客户端被告知它本地的副本与服务器提供的内容是最新的,应该使用本地副本而不是请求再次.

After Cache

注意  : 去;要使任何缓存文件无效,您只需更改其文件名并更新其引用即可.这将确保您有一个新文件发送到客户端,客户端无法从缓存中加载它.