Maison  >  Questions et réponses  >  le corps du texte

java - tomcat+redis集群session共享

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

环境:jdk7+tomcat7+redis2.8

PHP中文网PHP中文网2763 Il y a quelques jours340

répondre à tous(6)je répondrai

  • 巴扎黑

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

    Redis met l'objet, et quand il est retiré, il est nul. Il semble que le seul moyen soit de convertir l'objet en json

    .

    Problème résolu : l'objet bean n'a pas été sérialisé, provoquant une exception Redis, mais c'était normal après la sérialisation

    répondre
    0
  • 迷茫

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

    La session n'est valide que dans l'instance Tomcat actuelle, donc dans le cas de plusieurs instances Tomcat, vous ne pouvez pas utiliser request.getSession().getAttribute pour obtenir la session, mais l'obtenir depuis Redis.

    répondre
    0
  • 怪我咯

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

    Puisque Redis est utilisé, il n'est pas nécessaire d'utiliser la session dans le conteneur. .

    répondre
    0
  • 迷茫

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

    Dans la solution de conservation de session de cluster, vous pouvez stocker le sessionId en tant que clé dans Redis (la valeur correspond aux informations de session que vous souhaitez enregistrer. Bien sûr, lorsque vous le récupérerez, vous l'obtiendrez de Redis). pas enregistrer les informations de session.

    répondre
    0
  • 天蓬老师

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

    Il existe un package jar tiers qui peut être intégré à Tomcat pour enregistrer la session dans Redis. Le code de l'application n'a pas besoin d'y prêter attention

    .

    répondre
    0
  • 巴扎黑

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

    Essayez la session de printemps

    répondre
    0
  • Annulerrépondre