84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
简单做了一个测试,servlet中post方法存入session(存入之后立马去getAttribute是有值的),redis也存进去了,但是重新再请求get方法中request.getSession().getAttribute确是null,求解?
环境:jdk7+tomcat7+redis2.8
认证高级PHP讲师
redis放对象,取出是null,放字符串是好的,看来只能对象转json了
问题解决:bean对象没有序列化造成存redis异常,序列化之后正常
session的只在当前tomcat实例里有效,所以在多tomcat实例的情况下,不能使用request.getSession().getAttribute获取session,而是从redis中获取。
既然都用了redis了,就不需要再用容器里的session了吧。。
集群会话保持方案,可以将sessionId作为key存入redis(值是你要存的会话信息),取的时候当然从redis去取,tomcat不保存会话信息。
有一个第三方jar包,可以与tomcat集成,让session保存在redis.应用代码不需要关注此事
试试spring-session
redis放对象,取出是null,放字符串是好的,看来只能对象转json了
问题解决:bean对象没有序列化造成存redis异常,序列化之后正常
session的只在当前tomcat实例里有效,所以在多tomcat实例的情况下,不能使用request.getSession().getAttribute获取session,而是从redis中获取。
既然都用了redis了,就不需要再用容器里的session了吧。。
集群会话保持方案,可以将sessionId作为key存入redis(值是你要存的会话信息),取的时候当然从redis去取,tomcat不保存会话信息。
有一个第三方jar包,可以与tomcat集成,让session保存在redis.应用代码不需要关注此事
试试spring-session