我已经想到了两种我不太喜欢的方法:
- 在 try..catch.. 中调用 touch(key, null) 并返回 false 捕获部分。但后来我改变了 ttl 这不是很好 为了我。
- 在 try..catch.. 中调用 add(key, value) 并返回 false 来自 catch 部分 - 这会降低效率,因为我 必须删除我刚刚不必要地添加的 key 。
顺便说一句,我的环境是 PHP。
有什么建议吗?
谢谢!
最佳答案
Couchbase 目前还没有提供 exists
方法,但是你可以使用 add
和 delete
来做这件事,这也行对 Memcache/Memcached 有用
public function exists($key)
{
if ($this->object->add($key, true)) {
$this->object->delete($key);
return false;
}
return true;
}
https://github.com/twinh/widget/blob/master/lib/Widget/Couchbase.php#L118
关于php - 如何检查 Couchbase 中是否存在 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754007/