我想使用 Java API 自动添加一个新 key 到 google appengine 的内存缓存服务。这意味着如果 key 已经存在于内存缓存中,则放置操作应该失败(例如抛出异常或返回 false
),从而防止并发添加(这将导致覆盖)内存缓存。
我看不出如何使用 getIdentifiable
/putIfUntouched
这对方法来实现。此外,synchronize
也无济于事,因为我想控制 servlet 不同实例之间的并发性。
最佳答案
您想使用 SetPolicy.ADD_ONLY_IF_NOT_PRESENT 放置,如果键不存在,它只会写入一个值。
boolean put(java.lang.Object key,
java.lang.Object value,
Expiration expires,
MemcacheService.SetPolicy policy)
返回值会告诉你一个值是否已经存在。
关于java - 如何以原子方式向 google appengine 的内存缓存添加新 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14100429/