首先希望大家不要争议使用什么数据库保存Session更好。假如使用SQLSERVER2008来保存的话如何才能达到最高执行速度。
本人思路如下:首先有人问题困扰本人很久,就是如何使用sqlserver来保存Session,这里感谢本站的youxiachai,通过修改mysql保存session方案,原理很简单就是用户每次链接网站更新用户最近一次访问时间。使用sql语句更新表内容,再定时清理过期的Session。
可惜的SQLSERVER的计划任务没有mysql创建那么方便,又不想去开启SQLSERVER计划任务,于写了一大堆SQL代码。为保证执行速度与逻辑,决定使用存储过程。当访客打开网页时执行这个带参数储过程,更新sessions表。
MSSQL.csql('exec onsession ?,?,?’, [sid,uid,session], function (err) { callback(err); })
执行存储过程onsession,uid就是登录用户的ID,如何用户登录就能够知道用户ID,保存在Session表中,为了方便当跟踪当前在线用户。
目前碰到的问题是当用户首次打开速度有点慢。
提问: 这种方案是可行? 如何测试这种方案的性能?