Membase 客户端 - 包含 key ?

标签 membase

有谁知道如何使用 Membase Client (Enyim) 检查 key 是否存在?我不想从缓存中提取整个对象,只需检查它是否在其中。

最佳答案

不幸的是,memcached 中没有“exists”操作,但是您可以执行一些操作:

  • 做一个client.Store(StoreMode.Add, keyToCheck, null, new Date(2000, 1, 1));如果该项目已存在,则添加失败,在这种情况下将返回 false。
  • 你可以client.Append(keyToCheck, new ArraySegment<byte>(new byte[0]))这将返回 true如果键存在,但其值不会改变。
  • client.Cas(StoreMode.Set, keyToCheck, null, UInt64.MaxValue)如果该项目存在,这也会失败。

请记住,如果键不存在,所有三个操作都将创建一个项目,因此您需要在它们之后进行清理。

此外,如果多个线程正在检查同一项目,则一个线程可能会将另一个线程的临时项目视为真实的项目。

关于Membase 客户端 - 包含 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4326311/

相关文章:

Couchbase 1.8.0 并发(Java 客户端/服务器中并发请求支持的数量): scalability

nosql - Redis 和 Membase 之间的主要区别是什么?

java - Membase Java 负载生成器问题

.net - 如何强制 Ruby 将小数存储为 32 位整数

c# - 如何使用某些客户端工具将批量数据插入 Membase Server 1.6

mysql - 同步 mysql 和 memcached/membase

nosql - Membase 与 Cassandra?

couchdb - 如何将现有数据保留在 couchbase 中并且仅更新新数据而不覆盖

mongodb - Cassandra、Membase、Hadoop、MongoDB、RDBMS等如何选择?

erlang - membase 对于 erlang 玩家服务器来说是一个很好的持久层吗?