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