首頁  >  問答  >  主體

java - tomcat+redis集群session共享

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

环境:jdk7+tomcat7+redis2.8

PHP中文网PHP中文网2712 天前317

全部回覆(6)我來回復

  • 巴扎黑

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

    redis放對象,取出是null,放字串是好的,看來只能對象轉json了

    問題解決:bean物件沒有序列化造成存redis異常,​​序列化之後正常

    回覆
    0
  • 迷茫

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

    session的只在目前tomcat實例裡有效,所以在多tomcat實例的情況下,不能使用request.getSession().getAttribute取得session,而是從redis中取得。

    回覆
    0
  • 怪我咯

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

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

    回覆
    0
  • 迷茫

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

    叢集會話保持方案,可以將sessionId作為key存入redis(值是你要存的會話資訊),取的時候當然從redis去取,tomcat不保存會話資訊。

    回覆
    0
  • 天蓬老师

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

    有一個第三方jar包,可以與tomcat集成,讓session保存在redis.應用程式碼不需要關注此事

    回覆
    0
  • 巴扎黑

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

    試試spring-session

    回覆
    0
  • 取消回覆