如果不用session带的,自己做的思路如下:
1、把sessionId存放在cookie中,并设定一个有效期;(某个人的gprs定位信息被来回折腾邮递人员揣在身上)
2、把经过Serializable序列化的对象存放在memcached中,同时设置一个失效时间,比如1小时;(某个人放到仓库里,一小时后走人)
3、每次取会话信息时,先从cookie中取sessionId,如果cookie不存在,则说明会话已过期;如果会话存在,则从memcached中读取会话信息,如果会话信息不存在,则从数据库中读取相关信息,然后放在memcached中,同时设置失效时间;
(邮递人员死了,自然某人信息自然也没了,邮递人员还在,则通过这个人的信息还能找到这个人,但是如果已经过期走了,则我们再从后方找一个一样的人来这个仓库,同时也设置一小时)
4、设置一个filter,在每次请求时,更新会话cookie的失效时间;(每次邮递人员来的时候,我们都会让邮递员生命延续一小时)
5、登录时设置一个隐藏的随机数;(验证隐藏的验证码,同时删除随机验证码,避免重复登录,给这个邮递员贴个标志,进来的时候验证一下,一个就好,不要重复的来。)
6、退出时删除会话cookie,同时从memcached中删除相关的会话;(如果不想再来了,就把邮递员干掉,把仓库那哥们也干掉)
另外建议上面的sessionid加密