节点是否处于状态?Node可以在内存中维护变量吗?
Is Node Stateful? Can Node maintain variables in memory
Node是否处于状态?
如果我想建立一个索引保存在内存中,它会在不同的连接中持久化吗?我只是想知道这是否可能。例如,我们有一个java服务器,它在内存中维护一个哈希映射来加速某些搜索查询。当有东西进来时,它会对它进行修改。这在Node中可能吗?
谢谢。
当然。这是一个非常简单的例子,我认为你正在寻找(修改样例代码从http://nodejs.org):
var http = require('http');
var foo = 0;
http.createServer(function (req, res) {
foo += 1;
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('You are foo number ' + foo + ''n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
请注意,除了最短暂的数据类型之外,这种事情通常不会发生。如果你想让稍微更持久,可以使用redis
是的,您可以在进程的生命周期中保持在内存中的状态。有一些库可用于哈希映射、LRU缓存和其他常用的数据结构。
您可以在node中拥有等同于静态变量的内容。第一次需要文件时,节点将运行该文件中的代码。这意味着,如果您在等于或高于module.exports
的作用域级别上定义变量,则始终可以从内部闭包访问这些变量。
(function(){
var aStaticVariable = 123;
module.exports = function() {
// an instantiable object
}
})();
你也有全局变量:
global.aGlobalVar = "foo";
相关文章:
- 如何创建更好的方式来维护基于我的代码访问的最后一个页面
- 重复应用 d3 转换导致的内存泄漏
- 如何显示在给定极限内存在的所有素数
- IE7中的blockUI插件内存泄漏25kb
- Javascript闭包-如何防止内存泄漏
- 基于订阅的nosql内存数据库
- 显示:阻止/无html元素,css.not从内存中释放
- jQuery Draggable:内存泄漏
- 元素过多的HTML内存使用情况
- 如何使用Javascript在FireFox中将html从内存动态加载到iframe中
- "检测到可能的EventEmitter内存泄漏”;使用Gulp+Watchify+Factor捆绑包
- Javascript图像数组预加载速度和从内存中删除
- 在Dojo类中递归调用setTimeout时是否存在内存泄漏
- VBA加载网页并提取内存中的数据
- 是内存泄漏
- 将处理程序留在img.onload上是内存泄漏
- new Datamap() 在调用之间保持内存的共享状态
- 具有并发sse连接的node.js内存泄漏
- 节点是否处于状态?Node可以在内存中维护变量吗?
- 如何在javascript/Meteor中维护内存中的对象和变量