我正在使用Couchbase的Spring数据并希望实施Couchbase的bulkGet
。请让我知道以下内容:Couchbase BulkGet在春季数据couchbase
- 是否可以通过Spring Data?
- 如果是,你能分享一个例子吗?
- 是
findAll
(使用_all
查看)在性能方面可媲美bulkGet
? - 我可以连同Couchbase文档一起获取
_id
吗?
环境: - Couchbase 4.0,春数据2.0.0.RELEASE,爪哇8
先谢谢了!
我正在使用Couchbase的Spring数据并希望实施Couchbase的bulkGet
。请让我知道以下内容:Couchbase BulkGet在春季数据couchbase
findAll
(使用_all
查看)在性能方面可媲美bulkGet
?_id
吗?环境: - Couchbase 4.0,春数据2.0.0.RELEASE,爪哇8
先谢谢了!
我假设您在存储库的上下文中询问有关批量获取的问题。
首先,目前在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上应用批量获取模式得到改进,但这意味着忘记了由视图导致的类型检查,所以我不确定...