简单做了一个测试,servlet中post方法存入session(存入之后立马去getAttribute是有值的),redis也存进去了,但是重新再请求get方法中request.getSession().getAttribute确是null,求解?
环境:jdk7+tomcat7+redis2.8
认证高级PHP讲师
Redis는 객체를 넣고 꺼낼 때 null이 됩니다. 문자열을 넣는 것이 유일한 방법인 것 같습니다.
해결된 문제: Bean 객체가 직렬화되지 않아 Redis 예외가 발생했지만 직렬화 후에는 정상이었습니다
세션은 현재 Tomcat 인스턴스에서만 유효하므로 Tomcat 인스턴스가 여러 개인 경우 request.getSession().getAttribute를 사용하여 세션을 얻을 수 없고 redis에서 얻습니다.
redis를 사용하기 때문에 컨테이너 내 세션을 사용할 필요가 없습니다. .
클러스터 세션 보존 솔루션에서는 sessionId를 redis에 키로 저장할 수 있습니다(값은 저장하려는 세션 정보입니다). 물론 이를 검색하면 Tomcat에서 가져옵니다. 세션 정보를 저장하지 마십시오.
redis에 세션을 저장하기 위해 tomcat과 통합할 수 있는 타사 jar 패키지가 있습니다.
봄학기에 도전해 보세요
Redis는 객체를 넣고 꺼낼 때 null이 됩니다. 문자열을 넣는 것이 유일한 방법인 것 같습니다.
해결된 문제: Bean 객체가 직렬화되지 않아 Redis 예외가 발생했지만 직렬화 후에는 정상이었습니다
세션은 현재 Tomcat 인스턴스에서만 유효하므로 Tomcat 인스턴스가 여러 개인 경우 request.getSession().getAttribute를 사용하여 세션을 얻을 수 없고 redis에서 얻습니다.
redis를 사용하기 때문에 컨테이너 내 세션을 사용할 필요가 없습니다. .
클러스터 세션 보존 솔루션에서는 sessionId를 redis에 키로 저장할 수 있습니다(값은 저장하려는 세션 정보입니다). 물론 이를 검색하면 Tomcat에서 가져옵니다. 세션 정보를 저장하지 마십시오.
redis에 세션을 저장하기 위해 tomcat과 통합할 수 있는 타사 jar 패키지가 있습니다.
봄학기에 도전해 보세요