高分跪求在线用户解决方案
最近做一个影视网站,需要做一个在线用户的方案
要求:由于用户类型的不同,可能区别用户的连接数,比如A用户只能同时一人观看,B用户可以同时观看2人,这个可以在数据库中实现。
方案一、
用数据库 进行记录在线用户信息,用AJAX每隔N秒向服务器提交一次最后更新的时间。
定期删除超时的用户。
缺点:用户并发高时数据库压力太大,日志文件产生庞大。。。
方案二、
用Cache记录在线用户列表,用AJAX每隔N秒向服务器提交一次最后更新的时间。
缺点:并发高时,难免会出现同时对Cache进行操作导致出错,应用程序回收时会导致在线用户丢失
求解有更好的方案??
高分跪求啊。。。
如果有人接触过创智数码科技的影视系统,可以参考下,他们的在线方案做得很好,不知道是用什么实现的。
也是用ASP.NET开发。
------解决方案--------------------
你可以将两者结合,统一往数据库里更新,而不是每个请求都更新一次
------解决方案--------------------
为什么搞得这么复杂.直接搞个登陆系统不就得了.B级用户可以同时不同IP登陆两次.A级用户只可以用一个IP登陆.然后让session的过期时间为5分钟,让ajax来刷新session.
有道理...
不过非法关浏览器的话...那用户就5分钟不能登陆了,,,
不过这个技术原理同 "单点登陆" 一样 上网查一查吧
------解决方案--------------------
并发高时,难免会出现同时对Cache进行操作导致出错,应用程序回收时会导致在线用户丢失
这个有没有测试过?确实有发生过吗.
每隔n秒向服务器统一更新一次,应该可以了吧.