【问题标题】:Ehcache Update ElementEhcache 更新元素
【发布时间】:2014-05-30 05:36:16
【问题描述】:

我正在使用下面的代码对缓存中的元素进行更新。

Cache cache = manager.getCache("myCache");
cache.put(new Element("k1", "v1"));
//updates "k1"
cache.put(new Element("k1", "v2"));

这个线程是安全的还是我们需要做任何超出这个线程安全的事情。 同样从性能的角度来看,每次更新都会产生一个新元素。这是一个好方法吗?

问候

【问题讨论】:

    标签: jakarta-ee caching ehcache


    【解决方案1】:

    这是更新缓存条目的基本 API:为具有更新值的相同键执行 put。 为此,您确实需要创建一个新的Element

    关于线程安全,Ehcache 操作在设计上是线程安全的。

    但我不确定您对线程安全的上下文和要求是什么。

    没有什么可以阻止另一个线程在您处理的任何时候更新相同的密钥,包括在两个 put 之间。 如果你想保证第二个 put 只更新键 k1 如果它的值仍然是 v1,那么你需要查看提供的 Compare and Swap Operationsexplicit locking

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多