node.js缓存处理方式

Node.JS缓存处理分为客户端和服务端两个部分

  客户端的缓存主要是利用浏览器对HTTP协议响应头中cache-control和expires字段的支持。浏览器在得到明确的响应头后,会将文件缓存在本地,依据cache-control和expires的值进行相应的过期策略。这是的重复访问的过程中,浏览器可以从本地缓存中读取文件,而无需从网络读取文件,提升加载速度,也可以降低对服务器的压力。

正是因为V8有内存限制的原因,作为缓存,如果没有良好的过期策略,缓存将会无限增加,知道内存溢出。所以在staticCache中间件中设置了存储数量和单个文件的大小,可以有效抑制缓存区的大小。

在支持MIME类型的静态文件服务器中,任何静态文件只要丢进assets目录之后就可以达到了Apache服务器的相同效果,但是当用户在每次请求的时候,服务器每次都要调用fs.readFile方法去读取硬盘上的文件的。当服务器的请求量上涨,硬盘IO就会吃不消。

时间: 2024-08-07 06:06:50

node.js缓存处理方式的相关文章

Node.js缓存

Node.js Buffer(缓冲区) JavaScript 语言自身只有字符串数据类型,没有二进制数据类型. 但在处理像TCP流或文件流时,必须使用到二进制数据.因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区. 在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库.Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动

Node.js 数据存储方式的选择

如何为你的 Node.js 应用挑选数据库 Node.js 应用一般有三种方式保存数据. 不使用任何数据库管理系统(DBMS),把数据保存在内存里或直接使用文件系统. 使用关系数据库.例如 MySQL, PostgreSQL. 使用非关系数据库.例如 Redis,MongoDB,CouchDB, PouchDB 无服务器数据存储 (Serverless Data Storage) 从管理上来说,第一种方式是最方便易用的.不需要安装任何数据库,直接使用内存和文件就行了. 无需数据库的内存存储就是使

Node.js具体解析

介绍 JavaScript 高涨的人气带来了非常多变化.以至于现在使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也能够在server上执行 JavaScript ,从前端跨越到后端,这样巨大的反差让人难以想象.由于只在几年前 Javascript 还如同 Flash 或者 Java applet 那样嵌入网页在沙箱环境中执行. 在深入Node.js之前.你可能须要阅读和了解使用跨栈式JavaScript(JavaScript across the stack)带来的优点

[转载]Node入门 » 一本全面的Node.js教程

http://www.nodebeginner.org/index-zh-cn.html 作者: Manuel Kiessling 翻译: goddyzhao & GrayZhang & MondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行

node.js精彩入门手册

最近刚好在学习nodejs,发现了一份不错的文档,分享一下 JavaScript与Node.js JavaScript与你 抛开技术,我们先来聊聊你以及你和JavaScript的关系.本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容. 如果你和我一样,那么你很早就开始利用HTML进行“开发”,正因如此,你接触到了这个叫JavaScript有趣的东西,而对于JavaScript,你只会基本的操作——为web页面添加交互. 而你真正想要的是“干货”,你想要知道如何构建复杂的web

Node.js入门教程

http://www.nodebeginner.org/index-zh-cn.html#a-basic-http-server Node入门 作者: Manuel Kiessling翻译: goddyzhao & GrayZhang & MondayChen 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识.本书绝不是一本“Hello World”的教程. 状态 你正在阅读的已经是本书的最终版.因此,只有当进行错误更正以及针对

创业笔记-Node.js入门之一个完整的基于Node.js的web应用

用例 我们来把目标设定得简单点,不过也要够实际才行: 用户可以通过浏览器使用我们的应用. 当用户请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可以选择一个图片并提交表单,随后文件将被上传到http://domain/upload,该页面完成上传后会把图片显示在页面上. 差不多了,你现在也可以去Google一下,找点东西乱搞一下来完成功能.但是我们现在先不做这个. 更进一步地说,在完成这一目标的过程中,我们不仅仅需要基础的代码而不管代码是否优

【译】深入理解python3.4中Asyncio库与Node.js的异步IO机制

转载自http://xidui.github.io/2015/10/29/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3python3-4-Asyncio%E5%BA%93%E4%B8%8ENode-js%E7%9A%84%E5%BC%82%E6%AD%A5IO%E6%9C%BA%E5%88%B6/ 译者:xidui原文: http://sahandsaba.com/understanding-asyncio-node-js-python-3-4.html 译者前言 如

Node.js入门 系列一(安装,启动,测试)

这里主要介绍基于windows平台上最简单方便的安装方式,启动以及简单测试 概念 Node.js 是构建在Chrome javascript runtime之上的平台,能够很容易的构建快速的,可伸缩性的网络应用程序.Node.js使用事件驱动,非阻塞I/O 模式,这使它能够更轻量,高效且完美的适用于运行在分布式设备之间的数据密集型实时应用程序. 安装 这里主要介绍基于windows平台上最简单方便的安装方式,我们首先直接访问node.js官方网站http://www.nodejs.org/,直接