Spring 数据 Cassandra 千兆字节的数据 findAll() 方法

Spring Data Cassandra gigabytes of data findAll() approach

我知道以前有人问过这个问题,但是 Spring 数据随着时间的推移增长很多。

您将如何实现 returns 数百万行的 findAll()? 我知道 Spring 数据有流 API,尽管我不确定使用这么多数据是否安全。据我了解,这不会一次检索所有数据,而是在处理数据时。

Stream<T> streamAllBy...(...);

此外,第二种方法是这样,唯一的缺点是我必须手动处理分页。

Slice<T> findAllBy...(..., Pageable pageable)

有什么想法吗?

Stream<T> 声明为查询方法的 return 类型确实是首选方法。存储库层使查询执行适应声明的类型,并在使用流时执行透明的前向分页。

Spring 数据的存储库方法需要某些方法签名,这在每种情况下可能都不实用。