Couchbase BulkGet in spring 数据
Couchbase BulkGet in spring data couchbase
我正在使用带有 Spring 数据的 Couchbase,并希望实施 bulkGet
的 Couchbase。请让我知道以下内容:
- 可以通过Spring数据吗?
- 如果是,能否分享一个例子?
findAll
(使用 _all
视图)在性能方面是否与 bulkGet
相当?
- 我可以获取
_id
和 Couchbase 文档吗?
环境:- Couchbase 4.0,Spring 数据 2.0。0.RELEASE,Java 8.
提前致谢!
我假设您是在询问存储库上下文中的批量获取。
首先,Spring Data Couchbase 目前还没有完全支持 "bulkGet"。大部分实现是基于 SDK 同步 API,批量获取通常使用 异步 API,使用 RxJava
.
请注意,在 Couchbase 的协议级别没有实际的 "bulkGet" 操作,它只是 SDK 发出多个单个 Get
并将它们批处理在一起。
回答你的第二个问题,以上内容很重要。 Couchbase Java SDK 文档(此处)中讨论的批量获取模式略微提高了性能,因为与同步模式不同,我们不会等待检索一个项目来获取下一个项目。
Spring Data Couchbase 中的 findAll()
和 findAll(Iterable)
方法都在 view
之上运行,它只允许检索与实体类型匹配的文档您的存储库,但引入了一个间接级别,与 key/value gets.
的纯序列相比,它可能会降低性能
因此,您最接近 Spring Data Couchbase 中的批量操作的方法是 了解您感兴趣的所有 ID ,然后 对每个 ID 执行 findOne
。
在短期内,findAll(Iterable)
签名背后的代码可能会通过在所有提供的 ID 上应用批量获取模式来改进,但这意味着忘记视图引起的类型检查,所以我不确定...
我正在使用带有 Spring 数据的 Couchbase,并希望实施 bulkGet
的 Couchbase。请让我知道以下内容:
- 可以通过Spring数据吗?
- 如果是,能否分享一个例子?
findAll
(使用_all
视图)在性能方面是否与bulkGet
相当?- 我可以获取
_id
和 Couchbase 文档吗?
环境:- Couchbase 4.0,Spring 数据 2.0。0.RELEASE,Java 8.
提前致谢!
我假设您是在询问存储库上下文中的批量获取。
首先,Spring Data Couchbase 目前还没有完全支持 "bulkGet"。大部分实现是基于 SDK 同步 API,批量获取通常使用 异步 API,使用 RxJava
.
请注意,在 Couchbase 的协议级别没有实际的 "bulkGet" 操作,它只是 SDK 发出多个单个 Get
并将它们批处理在一起。
回答你的第二个问题,以上内容很重要。 Couchbase Java SDK 文档(此处)中讨论的批量获取模式略微提高了性能,因为与同步模式不同,我们不会等待检索一个项目来获取下一个项目。
Spring Data Couchbase 中的 findAll()
和 findAll(Iterable)
方法都在 view
之上运行,它只允许检索与实体类型匹配的文档您的存储库,但引入了一个间接级别,与 key/value gets.
因此,您最接近 Spring Data Couchbase 中的批量操作的方法是 了解您感兴趣的所有 ID ,然后 对每个 ID 执行 findOne
。
在短期内,findAll(Iterable)
签名背后的代码可能会通过在所有提供的 ID 上应用批量获取模式来改进,但这意味着忘记视图引起的类型检查,所以我不确定...