我是 coucbase 的新手,我对 couchbase 中的键值存储有一些疑问。通常我们将数据存储为文档。我需要澄清以下查询,
- 文档类型和键值类型有什么区别?
- 如何实现键值存储?你能用一个小例子来解释一下吗。
- 存储为键值对有什么好处?
最佳答案
- 文档类型和键值类型有什么区别?
在 Couchbase 中,您可以存储任何键/值对。在这一层,键和值只是字节数组。但是,如果您存储的值恰好是有效的 JSON,则可以使用其他功能(例如 View )。您可以在同一个存储桶中混合搭配。有时在同一存储桶中的常规 JSON 文档旁边使用整数计数器或逗号分隔的字符串列表很有用。但请注意,Couchbase Elasticsearch 适配器仅适用于 JSON 文档。如果您将纯键/值项存储在存储桶中,它们将被 Elasticsearch 适配器忽略。
如何实现键值存储?你能用一个小例子解释一下吗。
// Connect to localhost or to the appropriate URIuris.add(URI.create("http://localhost:8091/pools")); CouchbaseClient client = null; client = new CouchbaseClient(uris, "streams", ""); client.add("1234", "xxx"); client.replace("1234", "1234"); Object data = client.get("1234"); System.out.println(data.toString()); client.delete("1234");
存储为键值对有什么好处?
通常,由于几个原因, yield 是最大性能。
- 您不需要对值进行 JSON 编码/解码
- Incr() 之类的操作仅适用于整数值
- 像 Append() 这样的操作只适用于字符串值
- 使用这些操作是特殊情况操作,可以让您避免 Get/Set/Cas 重试操作
关于couchbase - couchbase中的键值存储是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26527466/