Maison > Questions et réponses > le corps du texte
简单做了一个测试,servlet中post方法存入session(存入之后立马去getAttribute是有值的),redis也存进去了,但是重新再请求get方法中request.getSession().getAttribute确是null,求解?
环境:jdk7+tomcat7+redis2.8
巴扎黑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
迷茫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.
怪我咯2017-04-18 09:23:54
Puisque Redis est utilisé, il n'est pas nécessaire d'utiliser la session dans le conteneur. .
迷茫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.
天蓬老师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
.