0
我想扩展我的传入请求跨所有服务器。是否可以在nodejs中存储循环引用对象?
我可以在群集中完成声明全局变量存储数组中的所有传入请求。
//SERVER 1
var store =[];
//Instance node master
http.createServer(function(req,res){
store['InRequest1']=req;
});
//Instance node child
http.createServer(function(req,res){
var request = store['InRequest1'];
request.write('sss');
});
但是,如果我的另一台服务器上创建另一个实例,我无法拿回店里要求:
//SERVER 2
var request = store['InRequest1'];
request.write('sss');
我发现使用memcached的/ Redis的存储圆形物体的方式(要求)但是当我尝试
memcached.set(req); //hit error unable convert circular reference objects
无论如何可以缩放循环引用对象吗?
对不起,商店请求的例子不清楚。其实我想它是一个会话存储。使用Redis商店我可以扩展我的应用程序?但redis只能存储对象,字符串...我可以存储循环引用的对象在内存中吗?例如, var RedisStore = require('connect-redis'); var Client = Redis.createClient(); RedisStore.Store(Client); – user717166 2011-05-30 05:56:29
变量Client是内存中的循环对象。像引用对象一样。 – user717166 2011-05-30 05:56:57
redis ...是一个数据库,就像我说的。数据库中的会话是一种常见策略。这些与我所说的没有分歧。我不明白你为什么要存储链接到请求的客户端。这两者并没有很强的关联。因此,将客户端置于Redis中是不合理的? – jcolebrand 2011-05-30 06:07:02