suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java - tomcat+redis集群session共享

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

环境:jdk7+tomcat7+redis2.8

PHP中文网PHP中文网2811 Tage vor361

Antworte allen(6)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-04-18 09:23:54

    redis放对象,取出是null,放字符串是好的,看来只能对象转json了

    问题解决:bean对象没有序列化造成存redis异常,序列化之后正常

    Antwort
    0
  • 迷茫

    迷茫2017-04-18 09:23:54

    session的只在当前tomcat实例里有效,所以在多tomcat实例的情况下,不能使用request.getSession().getAttribute获取session,而是从redis中获取。

    Antwort
    0
  • 怪我咯

    怪我咯2017-04-18 09:23:54

    既然都用了redis了,就不需要再用容器里的session了吧。。

    Antwort
    0
  • 迷茫

    迷茫2017-04-18 09:23:54

    集群会话保持方案,可以将sessionId作为key存入redis(值是你要存的会话信息),取的时候当然从redis去取,tomcat不保存会话信息。

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:23:54

    有一个第三方jar包,可以与tomcat集成,让session保存在redis.应用代码不需要关注此事

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:23:54

    试试spring-session

    Antwort
    0
  • StornierenAntwort