java - 如何以原子方式向 google appengine 的内存缓存添加新 key ?

标签 java google-app-engine concurrency memcached

我想使用 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/

相关文章:

java - 为什么 Java Jbutton 没有正确调用 JFileChooser?

java - ArrayList 和 JOptionPane.showInputDialog()

java - 如何从本地docker容器中运行的rabbitmq队列读取消息

java - 如何在 google appengine 应用程序中访问管理员的 google 驱动器中的文件

Java在一种方法中使用两个可变参数

google-app-engine - Appengine 服务器的 IP 地址 block ?

c# - "late-bound access to the destination object"是什么意思?

c++ - 是否有使用线程池的 std::async 实现?

c# - 为调用堆栈创建一个变量 last

python - 如何在 App Engine 中使用 Google Acounts API?