ehcache是​​否为所有客户端使用相同的缓存

时间:2013-07-15 10:34:09

标签: java ehcache

我正在尝试使用ehcache缓存。对于两个不同的用户,我的webservice创建了不同的缓存,其行为类似于会话。我可以创建单个缓存,它将与上下文概念相同

2 个答案:

答案 0 :(得分:1)

请查看Ehcache缓存服务器

http://ehcache.org/documentation/user-guide/cache-server

有关示例Java代码,请参阅以下链接:http://ehcache.org/documentation/user-guide/cache-server#java-code-samples

希望有所帮助

答案 1 :(得分:0)

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

  1. “Traditionnal”对象构造函数:new CacheManager()。正如API页面中所解释的那样,“此方法不能作为单例。调用者必须保持对它的引用。”
  2. 静态构造函数:CacheManager.create()。这个创建方法确实充当单例,这意味着您可以为每个请求或会话调用CacheManager.create()...它将始终返回相同的CacheManager。
  3. 由于您没有提供有关您的实现的任何细节,我只能假设您(有意或无意)为每个服务请求或会话创建一个新的CacheManager对象(http://ehcache.org/apidocs/net/sf/ehcache/CacheManager.html)...解释你注意到的行为。

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