npm 包 cacheswitcher 使用教程

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

nginx 缓存是 Web Server 常见的缓存方案,其自身的缓存机制足以满足大部分网站的需求。但有一些站点的数据访问频率极高,缓存命中率不太高,而且不同地域访问不同的 CDN 服务商,这些站点可能需要调用某种方案在机器本地开启缓存。

此时可以考虑使用 cacheswitcher - 一种可以开启本地本地缓存方案的中间件。

安装

--- ------- -------------

使用

----- ---- - ---------------
----- ------------- - ------------------------

----- --------- - -------------
----- ------ - ----------------------- ---- -- -
  ------------------ ---- ------------
  ------------------
  -------------- -------
--

-------------------

一旦添加了 cacheswitcher 中间件,每个请求都会在静态文件存储路径中查找匹配的文件,若匹配,则返回给客户端,否则执行后续的操作。

配置

常见的配置有以下几个:

  • cachePath: 指定缓存静态文件的文件夹路径,例如:/cache/path
  • defaultExpireTime: 指定缓存的默认时长,例如:60 * 60 * 24 * 30
  • cacheRules: 缓存控制规则,例如:
-
  --------- ----- ---- -------- -- -
    -----------------
  --
  ------------ ----- ---- -------- -- -
    --------------- - -- - -- - ----
  -
-

这个配置意味着:静态文件夹下的 /api/* 目录下的文件比如图片将不做缓存,而访问 /static/* 目录下的文件时缓存时间为一年,其间请求不再与服务器交互。

原理

cacheswitcher 会拦截请求并查找是否有静态文件匹配。如果存在该文件,则直接返回静态文件并结束整个过程。否则,执行通常的调用栈。

学习与指导意义

cacheswitcher 具有一定程度的灵活性,可以根据自己的需求来定制缓存规则。如果要进行细粒度的缓存控制,只需给予更多时间去实现 cacheRules。

另外,cacheswitcher 使得前段开发人员可以直接操作缓存,更好的理解 nginx 等其他缓存基础知识。在促进自身能力不断前行的同时,也推动了前端开发在优化和改进网站缓存管理方面的发展。

示例代码

查看 Github 代码库

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60066c90ccdc64669dde5804


猜你喜欢

  • npm 包 can-element 使用教程

    介绍 can-element 是一个基于 CanJS 框架的自定义元素(custom element)库。它可以帮助开发者快速、简单地创建自定义元素,并提供了很多清晰、易于理解的功能,如 routin...

    4 年前
  • npm 包 can-fixture-defaults 使用教程

    简介 在前端开发中,有时候需要模拟后端接口的数据,以便进行开发和测试。can-fixture-defaults 就是一个可以帮助我们模拟数据的 npm 包。使用 can-fixture-default...

    4 年前
  • npm 包 cabel 使用教程

    介绍 cabel 是一个在前端中广泛使用的 npm 包,用于管理和扩展 JavaScript、Node.js 和其他前端技术的功能。cabel 提供了许多功能,如自动化打包、编译、压缩、代码分割和文件...

    4 年前
  • npm 包 cabi 使用教程

    介绍 cabi 是一个用于根据输入的数据生成对应的 CSS 代码的 npm 包。它可以帮助开发者快速生成需要的 CSS 代码,提高开发效率。cabi 框架提供了一系列编程 API,可以方便地生成常见的...

    4 年前
  • npm 包 cable-ts 使用教程

    介绍 Cable 是一个基于 WebSocket 的开源 JavaScript 框架,可以帮助我们快速构建实时、双向、可靠的应用程序。而 cable-ts 是 Cable 的 TypeScript 版...

    4 年前
  • npm 包 cabel-sample 使用教程

    在前端开发中,我们经常会用到各种各样的 npm 包。其中一个非常有用的包就是 cabel-sample,该包可用于生成指定长度的随机字符串。在本文中,我们将详细介绍 cabel-sample 的使用方...

    4 年前
  • npm 包 cablets 使用教程

    前言 在现代的前端开发中,我们经常需要使用许多工具和库来帮助我们更高效地完成开发任务。其中,npm 成为了最流行的包管理器之一,它允许我们轻松地安装和管理第三方代码。

    4 年前
  • npm 包 cabmin_express 使用教程

    cabmin_express 是一个基于 Express.js 框架的轻便型权限控制包,可用于快速搭建一个带有权限管理的前端项目。它提供了一套简洁易用的 API,包括用户认证、角色管理、权限管理等重要...

    4 年前
  • npm 包 caboodle-x 使用教程

    caboodle-x 是一款非常实用的前端开发工具库,可以大大提高开发效率。本文将介绍如何使用 caboodle-x,并提供详细的使用教程和示例代码,希望能够对前端开发者有所帮助。

    4 年前
  • npm 包 c3s 使用教程

    c3s 是一个基于 D3 做数据可视化的图表库,它具有简单的 API 和易于定制的样式。它支持多种图表类型,例如线图、饼图、柱状图等。本文将介绍如何使用 npm 包 c3s 来创建各种图表。

    4 年前
  • npm 包 caesar-shift 使用教程

    前言 在前端开发中,常常需要对字符串进行加密或解密,而 Caesar 密码又是较为简单易懂的密码加密方式之一,这时候我们可以使用 npm 包 caesar-shift 进行一些操作。

    4 年前
  • npm 包 call-after-brunch 使用教程

    前言 在前端开发中,使用 npm 来管理和安装依赖已经变成了必经之路。而 call-after-brunch 这个 npm 包可以帮助我们在 brunch 编译完成后执行一些自定义的脚本,从而更好的完...

    4 年前
  • npm 包 call-back 使用教程

    在前端开发中,我们经常需要处理异步代码,而回调函数是一个常用的解决方案。但是,回调函数嵌套过多会造成代码难以阅读和维护。为了解决这个问题,我们可以使用 npm 包 call-back,它提供了一种更优...

    4 年前
  • npm 包 can-get 使用教程

    can-get 是一个轻量级的 Node.js 模块,可以帮助前端开发者轻松获取并解析一个 URL 的内容。这个模块有很多实际的用法,例如爬取网站数据、获取 API 内容等等。

    4 年前
  • npm 包 can-haz-package 使用教程

    简介 can-haz-package 是一个 npm 包,它可以帮助开发者更快地创建动态 HTML 模板。它是一个小而简单的库,不需要任何其他的第三方依赖项。can-haz-package 支持大多数...

    4 年前
  • npm 包 can-hot 使用教程

    在前端开发中,经常需要实现热加载(Hot Reload)功能,以便快速地查看修改后的效果,而不必在每次修改后重新启动服务器。can-hot 是一个功能强大、易于使用的 npm 包,可以帮助我们实现热加...

    4 年前
  • npm 包 can-i-chime-in 使用教程

    在前端开发中,经常需要用到多个人协作开发,这个时候就需要进行沟通和协调。有时候就会遇到一些人没有及时回复,导致进度缓慢,影响开发效率。可以通过使用 npm 包 can-i-chime-in 来解决这个...

    4 年前
  • npm 包 call-if 使用教程

    在前端开发中,我们经常需要在某些情况下根据条件来执行代码,这时候就可以使用条件执行函数。npm 提供了一个非常方便的库 call-if 来实现条件执行功能。本篇文章将详细介绍 call-if 的使用方...

    4 年前
  • npm 包 call-if-defined 使用教程

    在前端开发中,我们经常会遇到需要判断一个变量是否存在并且有值的情况,从而决定是否执行一段代码。比如,我们需要在获取数据成功之后才能渲染页面,那么就需要判断数据是否存在。

    4 年前
  • npm 包 cafe-browser 使用教程

    简介 Cafe Browser 是一个用于集成浏览器运行环境的 npm 库。这个库使用了 Electron 的技术,可以在 Node.js 应用程序中嵌入 Web 浏览器,提供了一种快速简单的方式来让...

    4 年前

相关推荐

    暂无文章