tomcat+redis集群session共享

简单做了一个测试,servlet中post方法存入session(存入之后立马去getAttribute是有值的),redis也存进去了,但是重新再请求get方法中request.getSession().getAttribute确是null,求解?

环境:jdk7+tomcat7+redis2.8

阅读 6k
6 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题