问题描述
我了解下应该是客户端登录后服务器生成一个sessionId然后以后每次请求的时候带这个sessionId判断过不过期,但服务器怎么维护怎么sessionId呢用数据库保存吗,会不会效率很低网上说用redis这种来管理登录的sessionId有做过的吗求指点下后台怎么实现
解决方案
解决方案二:
可以放到Application类里面,登录信息可以通过SharedPreferences来保存
解决方案三:
引用1楼cqrf2006的回复:
可以放到Application类里面,登录信息可以通过SharedPreferences来保存
我说的是服务器怎么管理session客户端知道啊
解决方案四:
SharedPreferences那个是手机存储和题目没什么关系
解决方案五:
引用1楼cqrf2006的回复:
可以放到Application类里面,登录信息可以通过SharedPreferences来保存
我现在了解的是一种放内存,但每次服务器重启,客户端得全部重新登录,要么放数据库,但每个需要判断登录的接口都查询下数据库一定比较耗时,当然也可以结合使用,看见个说用nosql那种来管理不知道性能会不会好很多
解决方案六:
引用3楼rui888的回复:
SharedPreferences那个是手机存储和题目没什么关系
有做过后台登录的吗
解决方案七:
可不可以以写xml类似日志文件,然后再判断2个session是否一样。
解决方案八:
引用6楼rui888的回复:
可不可以以写xml类似日志文件,然后再判断2个session是否一样。
如果有10W跟用户登录那XML里要存10W个SESSION记录那效率一定很低吧
解决方案九:
用户名、是否在线,最后访问时间,sessionid等,每次发起请求的时候,都更新一下该用户的在线状态,也就是最后的活跃时间;如果长时间没有更新活跃时间,再发起请求的时候,那么做出判断,超时就给客户端发出登录已超时,并记录为不在线,客户端接受到服务器返回的信息,跳到登录页面;如果没有超时,直接请求。
解决方案十:
放内存啊,量大就仍进redis里redis是最简单的,它会自动帮你维护过期,故障恢复也给力。客户端token写文件就好了
解决方案十一:
这个普通放db就可以拉,,,开发容易的快速..效率低是不会的,这个你放心拉.....简单添加个索引,保存个500w数据不成问题....500w以上要分表分库,稍微麻烦的....redis的适合场景是你要求很高的性能(1000w数据以上),但是redis的管理麻烦的,查询都要你自己写...数据库就开发容易的拉,工具大把...