Web应用程序会话缓存

时间:2009-08-26 21:01:08

标签: java web-applications caching struts

我想在基于struts构建的Web应用程序中缓存用户会话的数据。这是最好的方法。目前我们在用户会话中将数据库中的某些信息存储在java对象中。直到现在为止,人们现在担心内存使用等 有关如何最好地解决这个问题的想法。

2 个答案:

答案 0 :(得分:2)

  

到目前为止工作正常,但人们现在   关注内存使用情况等。

“关注”是相对毫无意义的 - 他们有什么具体的理由吗?显示会话对象占用多少内存的统计信息?沿着同一条路:你有没有具体的理由想要在用户会话中缓存数据?您是否对该应用进行了分析并确定从每个请求的数据库中获取此数据会显着降低您的应用速度?

不要猜。量度。

答案 1 :(得分:0)

出于这个原因,将整个对象存储在用户会话中通常是不好的做法。您应该只在会话中存储密钥,并在需要时再次查询数据库。这是权衡,但通常可以接受大多数用例。在密钥上查询数据库通常可以在请求之间进行,而不是在会话中存储对象。

如果您必须在会话中使用它们,请考虑使用类似LRUMap的内容(在Apache Collections中)。