[英]Storing Large Amount of Data in Session - Should I Do This?
这里的高级问题-我正在开发一个Spring MVC / Spring Data Project,以通过Spring Repositories搜索数据库中的表。 我正在搜索的表将包含成千上万个记录,甚至上万个记录。 在整个应用程序使用过程中,我都希望保留List
中的这些记录,直到满足重置或删除List
的条件为止。
我的问题是,将此List
存储在我的HttpSession
是否可行?
List
存储在会话中,是否存在安全问题? 快速查看用户会话信息以及4个对象的小型列表(可能是数千个)
Session Attribute Name Session Attribute Value
searchResults [com.mysite.dto.User@322bfb87,
com.mysite.dto.User@658e75cc,
com.mysite.dto.User@6bd7d82a,
com.mysite.dto.User@27b0e4b6]
userRoles [ROLE_ADMIN]
username admin
提前致谢
我会将它们存储在缓存中,而不是会话中。 您可以使用外部缓存,例如BigMemory Terracotta( http://terracotta.org/products/bigmemory )或memcache(如果您在EC2中运行应用程序,Amazon提供了一种易于使用的缓存)。 这将比您的服务器JVM堆具有更大的扩展能力。
另一个想法是将用户ID与用户对象的引用存储在缓存中,现在在会话中您只能存储ID。 这样,您的会话仅保存数字,而不是整个对象
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.