Selon certains livres et codes en ligne Django
, certaines valeurs sont passées en tant que variable de session lorsque vous avez besoin de rediriger (côté serveur) avec certaines variables de contexte, par ex. request.session['fruit'] = 'apple'
.Django: request.session est stable même lorsque vous utilisez plusieurs serveurs?
Mais je me demande cela fonctionne très bien même quand je utilisateur plusieurs serveurs. (Appelons chaque serveur A, B, C)
Dans ce cas, la demande de l'utilisateur peut être HASARD envoyé à l'un de ces les serveurs. Par exemple, la première demande est envoyée à un serveur et la demande suivante est envoyée au serveur B et la troisième demande est renvoyée à un serveur. Donc, je pensais juste que les données de session (request.session
) pourraient être perdues ou être en désordre en raison de ce caractère aléatoire.
Ai-je raison? ou Puisque la session est une donnée côté serveur basée sur l'ID de session cookie de l'utilisateur et enregistrée dans la base de données, donc je n'ai pas à m'inquiéter à ce sujet?
Merci :)
J'utilise '' django.contrib.sessions.middleware.SessionMiddleware'', ce qui signifie que je n'ai pas à m'inquiéter de la session qui va gâcher? – user3595632
@ user3595632 Vous avez besoin du middleware, quel que soit le backend de session que vous utilisez. Ce qui compte, c'est le réglage de votre ['SESSION_ENGINE'] (https://docs.djangoproject.com/fr/1.10/ref/settings/#session-engine), mais par défaut l'utilisation du backend de base de données. Donc, si vous n'avez pas changé la valeur par défaut (et que vous utilisez une base de données centralisée), vous n'avez rien à craindre. – knbk