Ehcache更新元素

时间:2014-04-15 17:50:58

标签: java-ee caching ehcache

使用以下代码对缓存中的元素进行更新。

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

这个线程是否安全,或者为了线程安全我们是否需要做任何事情。 此外,从性能角度来看,每次更新都会生成一个新元素。这是一个好方法吗?

此致

1 个答案:

答案 0 :(得分:4)

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

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

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

在您处理的任何时候,包括两次放置之间没有任何阻止另一个线程更新同一个键的内容。 如果您想保证第二个只更新密钥k1,如果其值仍为v1,那么您需要查看提供的Compare and Swap Operationsexplicit locking