java - 关于应用程序级上下文缓存的设计思路(类似于Web中的 session /应用程序上下文)

标签 java caching

我们有一个 Web 应用程序,其中涉及创建一些重型实用对象(就内存性能而言)。它可以在任何应用程序层上使用。这些实用程序对象特定于用户。因此,理想情况下应该发生的是在用户登录时创建这些对象,将它们缓存在“某处”并在需要的地方重用它们。

现在可用选项是 session 、应用程序。但这些并不适用于所有级别。一种方法是将它们传递到后续层。但这将违反关注点分离方法,并且其他层需要了解 Web 层。

另一种方法是使用静态实用程序类来缓存这些对象。类似的东西

MyUtilObject myObject = MyUtilCache.getMyUtilObject(userName);

在内部,由 HashMap(可能还有软引用)之类的东西支持。这些对象将在用户注销或 session 到期时被清除。

这是我们正在使用的

JBoss、Struts1.2、Spring。所有层都在同一台机器上(在单个运行时)。

请分享您对此的想法/方法。

最佳答案

您所需要的只是一个所有层都通用的界面。该实现可以由 Session 支持并在需要的地方注入(inject)。

关于java - 关于应用程序级上下文缓存的设计思路(类似于Web中的 session /应用程序上下文),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801544/

相关文章:

java - 导入的JAVA包不存在

java - 如何实现2-3-4树?

php - $cache->addItem 和 $cache->setItem 之间的 Zf2 缓存区别

ruby-on-rails - rails 。在开发模式下预加载类

javascript - 如何更改 React 应用程序中静态资源的缓存策略(使用 create-react-app 创建)

java - 每 30 秒更新一次订单状态

java - 更正应包含单个兼容版本的应用程序的类路径

java - Jar 资源中的 Unicode

ruby-on-rails - 获取/创建空缓存时该怎么办?内存缓存,Rails 3

caching - React Native - 获取调用缓存