Node.js 或其他 JS 服务器技术是否支持没有序列化的请求之间的本机共享内存?
Does Node.js or another JS server tech support native shared memory between requests without serialization?
当我搜索 node.js 共享内存时,我只找到依赖进程间通信的第三方解决方案,OS 内存映射文件,第三方缓存服务器,and/or字符串序列化。与直接在同一进程内访问本机对象相比,这些方法效率较低。
为了进一步说明,我更喜欢以这种方式工作的共享内存:
node.js 会有某种全局对象作用域,每个
请求可以看到。
全局作用域的大小仅受系统内存限制
大小.
Node 需要提供 "named locks" 或其他一些方法
锁定。 (我认为 node.js 不需要这个,除非你使用工人)
解决方案必须纯写Javascript(无"C"附加)
存储对象没有序列化。
我主要是 ColdFusion/CFML 开发人员。我所要做的就是在请求之间共享本机对象。
application.myVar={ 复杂: "object", arr:["anything", "i", "want"] };
我已经编写了一个应用程序,使用 ColdFusion 在内存中存储大量查找表、部分 html 和更多内容。大多数请求没有 I/O 或进程间通信。这可以在 node.js 中完成吗?
Node.js 已经是单线程服务器,因此任何请求都将在同一范围内处理。
而且已经有相应的库:
如果您需要扩展,您可以稍后转到其他商店(redis、mongodb 等)。
当我搜索 node.js 共享内存时,我只找到依赖进程间通信的第三方解决方案,OS 内存映射文件,第三方缓存服务器,and/or字符串序列化。与直接在同一进程内访问本机对象相比,这些方法效率较低。
为了进一步说明,我更喜欢以这种方式工作的共享内存:
node.js 会有某种全局对象作用域,每个 请求可以看到。
全局作用域的大小仅受系统内存限制 大小.
Node 需要提供 "named locks" 或其他一些方法 锁定。 (我认为 node.js 不需要这个,除非你使用工人)
解决方案必须纯写Javascript(无"C"附加)
存储对象没有序列化。
我主要是 ColdFusion/CFML 开发人员。我所要做的就是在请求之间共享本机对象。
application.myVar={ 复杂: "object", arr:["anything", "i", "want"] };
我已经编写了一个应用程序,使用 ColdFusion 在内存中存储大量查找表、部分 html 和更多内容。大多数请求没有 I/O 或进程间通信。这可以在 node.js 中完成吗?
Node.js 已经是单线程服务器,因此任何请求都将在同一范围内处理。
而且已经有相应的库:
如果您需要扩展,您可以稍后转到其他商店(redis、mongodb 等)。