Avec Rails 3, le mécanisme de stockage de session par défaut est cookie_store. Je suppose que cela signifie que les contenus dans le hash de session sont sérialisés, encodés et stockés dans un cookie dans le navigateur? Est-ce que cela signifie que rien (ou très peu) de la session est stockée dans le serveur?Rails 3 Sessions basées sur des cookies Question
J'ai eu quelques problèmes pour lesquels une erreur de débordement de cookie s'est produite et je suppose que j'ai continué à ajouter à mon instance d'utilisateur (qui a également été liée/extraite du cookie).
u = session[:user]
u.add_this lots_of_data
alors finalement j'ai eu une erreur de débordement de cookie.
Ai-je raison à ce sujet? Les sessions sont-elles entièrement stockées dans les cookies dans Rails 3 (par défaut)?
Oui, exactement. En d'autres termes, ne stockez pas des modèles entiers dans la session lorsque vous pouvez simplement stocker leur ID de base de données. –
Droite. Exactement! La question reste est que les modèles eux-mêmes peuplent et deviennent de plus en plus gros dans le cookie que vous les peupler sur le serveur? – matsko
Si vous mettez l'ID dans la session, vous aurez l'ID dans la session, rien d'autre. Si vous placez un objet complet dans la session (comme dans votre exemple ci-dessus), il prendra autant d'espace que nécessaire pour sérialiser l'objet ... – averell