HttpSession 数据存储在哪里?

7
HttpSession是基于cookie和url重写的高级接口,意味着客户端仅存储了会话ID,与之关联的数据存储在服务器端。
HttpSession数据实际上存储在哪里,是在JVM内存中还是其他地方?我能否更改数据存储的位置,例如将它们保存到内存数据库中?
如果不是在数据库中,当多个客户端同时处理同一会话数据时是否存在并发问题?
1个回答

7

服务器可以决定在哪里存储会话数据;我熟悉的一些服务器允许一定程度的配置,以确定会话数据存储在何处(磁盘、数据库、内存等)。

不同的客户端不应该共享同一份会话数据--会话数据是针对每个客户端的。尽管如此,单个客户端(例如 Web 浏览器)可能会打开多个窗口或选项卡,这可能会导致问题。

集群增加了复杂性/麻烦,因为会话数据在服务器之间共享。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接