java - tomcat+redis集群session共享
PHP中文网
PHP中文网 2017-04-18 09:21:54
0
6
355

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

环境:jdk7+tomcat7+redis2.8

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(6)
巴扎黑

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

迷茫

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.

刘奇

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

迷茫

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.

Peter_Zhu

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

.
巴扎黑

Essayez la session de printemps

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal