gpt4 book ai didi

java - session 中存储的数据量

转载 作者:行者123 更新时间:2023-11-29 07:22:19 25 4
gpt4 key购买 nike

我们应该使用什么技术来使 httpsession 对象不加载大量数据。

示例:

请求 1 ----> httpSession 加载了 50,000 个不同对象的数组列表。 session.setAttribute("数据",arraylist);

请求 2 ----> httpSession 加载了 40,000 个不同对象的数组列表。 session.setAttribute("数据",arraylist);

假设服务器负载很重,其中包含多个 session 和大量数据。让我们从我上面的例子中说一次 request1..1000。这意味着 1000 个具有大量数据的 session 对象。

解决问题的替代方法是什么,而不是像这样将它们存储在 session 中?

最佳答案

一些想法:

  1. 更加有选择性地选择您真正需要为您的客户提供哪些数据,而不是在第一次请求时将所有内容都放在 session 中,您只能在客户真正需要时才加载数据(c.q. 当点击一个选项卡时由用户)。您还可以使用专门的轻量级类而不是完整的后端域类来将数据传递到前端。

  2. 检查您的域模型,看看是否可以拆分出任何“静态数据”。我的意思是指在您的应用程序中通常共享并且不会改变很多的数据,例如邮政编码。这种类型的数据非常适合缓存和通过引用传递,而不是复制它。

  3. 如前所述,使用像 Ehcache 这样的缓存框架。它减少了应用程序中对管道代码的需求,并允许跨所有 session 共享缓存而不是复制数据。当然,如果您只在 session 中存储特定于用户的数据,那么共享不会有太大好处。像这样的框架还允许您配置缓存策略,例如,以便它在必要时开始使用数据库。

关于java - session 中存储的数据量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com