您的位置:首页 > Web前端 > Node.js

nodejs session 设计

2014-04-01 13:09 330 查看
会话管理

{
//保存会话
_data : {},
/** 会话基本操作 ***/
//查找会话
getSession : function(id){},
//创建会话
createSession : function(){},
//替换会话
replaceSession : function(source,target){},
//销毁会话
destorySession : function(id){},
//共享会话
sharedSession : function(){},

/** 会话处理器 ***/
//初始化会话回收处理器
initSessionGCProcessor : function(){},
//初始化会话心跳检测处理器
intiSessionHeartbeatProcessor : function(){},
//推送消息处理器
pushMessageProcessor : function(id){},
}


会话上下文

{
//回收会话时间
gcTime : 1000*60 *15,
//心跳保持时间
hbTime : 1000*2,
//每个会话消息保存长度
msgMaxLength : 50
}


会话对象

var session = {
id:'xx',
state : 1, //会话状态
lastTime : new Date(), //最后访问时间
_attr :{}, //属性
_msg : [], //保存推送消息
getAllAttr : function(){ return this._attr; },
getAttr : function(key){ return this._attr[key]; }, //获取属性
removeAttr : function(key){ delete this._attr[key]; }, //删除属性
setAttr : function(key,value){  this._attr[key] = value; return this; }, //设置属性
write : function(msg){ this._msg.push(msg); },    //输入准备推送的消息
getAndPushMsg : function(){ var result = this._msg; this._msg = []; return  result; }, //获取并且推送消息
close : function(){ this.state = 0; }, //关闭会话
destory : function(){ this.state = -1;}, //销毁会话
replace : function(session){ this._attr = session.getAllAttr(); }, //替换会话
refreshLastTime : function(){ this.lastTime = new Date(); }, //刷新最后访问时间
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: