>  Q&A  >  본문

java - tomcat+redis集群session共享

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

环境:jdk7+tomcat7+redis2.8

PHP中文网PHP中文网2712일 전320

모든 응답(6)나는 대답할 것이다

  • 巴扎黑

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

    Redis는 객체를 넣고 꺼낼 때 null이 됩니다. 문자열을 넣는 것이 유일한 방법인 것 같습니다.

    해결된 문제: Bean 객체가 직렬화되지 않아 Redis 예외가 발생했지만 직렬화 후에는 정상이었습니다

    회신하다
    0
  • 迷茫

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

    세션은 현재 Tomcat 인스턴스에서만 유효하므로 Tomcat 인스턴스가 여러 개인 경우 request.getSession().getAttribute를 사용하여 세션을 얻을 수 없고 redis에서 얻습니다.

    회신하다
    0
  • 怪我咯

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

    redis를 사용하기 때문에 컨테이너 내 세션을 사용할 필요가 없습니다. .

    회신하다
    0
  • 迷茫

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

    클러스터 세션 보존 솔루션에서는 sessionId를 redis에 키로 저장할 수 있습니다(값은 저장하려는 세션 정보입니다). 물론 이를 검색하면 Tomcat에서 가져옵니다. 세션 정보를 저장하지 마십시오.

    회신하다
    0
  • 天蓬老师

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

    redis에 세션을 저장하기 위해 tomcat과 통합할 수 있는 타사 jar 패키지가 있습니다.

    회신하다
    0
  • 巴扎黑

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

    봄학기에 도전해 보세요

    회신하다
    0
  • 취소회신하다