node.js - 如何缓存 Express.js 中从磁盘读取的特定路由
问题描述
我有 Express.js API,其中包含从驱动器(文件系统)加载的静态内容很少的路由。
例如:GET /locale?lang=en
- 从驱动器加载en.json
并将其解析为 JSON 响应。
Express.js 是否对此类请求有一些本机缓存,或者我只是应该将语言文件加载到变量(内存)中并将其提供给来自内存的请求 + 创建一些系统,该系统将在以下情况下自动刷新内存版本变化?
解决方案
从磁盘读取文件一次后,它可能会被操作系统缓存,例如文件系统,并在下次从内存中提供服务。除非没有足够的可用内存。为了提高 Express 性能,通过异步执行所有磁盘操作来确保磁盘 I/O 没有阻塞非常重要。在许多实际情况下,这对于单个磁盘文件就足够了。除此之外,Express 没有内置缓存,但可以使用一些分布式缓存来实现:Redis 在许多情况下更易于使用,memcached 提供更多 Spartan 功能但性能更高。
推荐阅读
- python - 在显示所有 6 个面后打印卷的预期平均值
- bixby - 在 Bixby 输入视图中,我如何在多复选框选择中匹配多个概念
- linux - grep 并打印一个模式,还打印一个前面的字符串/模式
- .htaccess - Mod重写和GET请求
- typescript - Typescript - 基于类属性的条件返回类型
- openssl - 如何使用 OpenSSL 1.1.1 实现 HDF-Extract?
- groovy - 将自定义属性分配给 SOAP UI 中另一个属性的子字符串
- javascript - 表格与表格
- django - 抓取数据时如何处理 HTTP 响应中的 KeyError(使用 Django 请求)
- settings - 为 Mac 进行自己的设置