【问题标题】:Does ehcache uses same cache for all clientsehcache 是否对所有客户端使用相同的缓存
【发布时间】:2013-07-16 01:26:08
【问题描述】:

我正在尝试使用 ehcache 缓存。对于两个不同的用户,我的 web 服务创建了不同的缓存,就像会话一样。我可以创建与上下文概念相同的单个缓存吗

【问题讨论】:

    标签: java ehcache


    【解决方案1】:

    在实例化 EhCache CacheManager 时(这是获取 Cache 对象引用的第一步),每个 EhCache API 都有几个选项:

    1. “传统”对象构造器:新的 CacheManager()。正如 API 页面中所解释的,“此方法不充当单例。调用者必须维护自己对它的引用。”
    2. 静态构造函数:CacheManager.create()。此创建方法确实充当单例,这意味着您可以为每个请求或会话调用 CacheManager.create()...并且它始终会返回相同的 CacheManager。

    由于您没有提供有关您的实现的任何细节,我只能假设您(有意或无意)为每个服务请求或会话创建一个新的 CacheManager 对象 (http://ehcache.org/apidocs/net/sf/ehcache/CacheManager.html)...这可以解释你注意到的行为。

    如果您使用单例概念来创建 CacheManager(方法 2),您确实会创建一个 CacheManager + 获取对可以跨线程访问的 Cache 对象的单个引用(请求、会话等... )

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 2019-04-26
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 2017-08-13
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      相关资源
      最近更新 更多