2016-04-21 55 views
0

我正在使用Couchbase的Spring数据并希望实施Couchbase的bulkGet。请让我知道以下内容:Couchbase BulkGet在春季数据couchbase

  1. 是否可以通过Spring Data?
    • 如果是,你能分享一个例子吗?
  2. findAll(使用_all查看)在性能方面可媲美bulkGet
  3. 我可以连同Couchbase文档一起获取_id吗?

环境: - Couchbase 4.0,春数据2.0.0.RELEASE,爪哇8

先谢谢了!

回答

1

我假设您在存储库的上下文中询问有关批量获取的问题。

首先,目前在Spring Data Couchbase中没有完全支持“bulkGet”。大部分实现基于SDK同步API,批量获取通常使用异步 API,使用RxJava完成。

请注意,在Couchbase的协议级别没有实际的“bulkGet”操作,它只是发出多个单一的Get的SDK并将它们分配在一起。

要回答你的第二个问题,上面的问题很重要。在Couchbase Java SDK文档(此处)中讨论的批量获取模式会略微提升性能,因为与同步模式不同,我们不会等待检索一个项目才能获得下一个项目。

findAll()findAll(Iterable)方法在Spring数据Couchbase在view的顶部,它允许只检索匹配您的存储库的实体类型的文件,但引入了与纯序列间接,可以降低性能的水平两方面键/值得到。

所以,你可以得到的Spring数据Couchbase这样的批量操作最接近将知道所有的ID你有兴趣,然后每个ID执行findOne

在近期内,findAll(Iterable)签名背后的代码可能会通过在所有提供的ID上应用批量获取模式得到改进,但这意味着忘记了由视图导致的类型检查,所以我不确定...