Spring Data Redis 是否支持 Java 流?
Does Spring Data Redis support Java streams?
我无法在 https://docs.spring.io/spring-data/redis/docs/current/reference/html/ 中明确找到它,但我想知道 Redis 是否支持 Java 流,所以我们可以
Stream<SomeDataStruct> findByServerIdAndSiteIdAndUserId(String serverId, String siteId, int userId);
它会根据需要释放资源吗?
我知道 JPA 确实支持流,但我必须明确地执行 entityManager.detach(element)
以防止实体管理器占用大量内存。
我原以为它会在他们的 spring-data-commons 中,但 https://spring.io/projects/spring-data#learn 没有任何链接只有标签。
我能够到达我的代码的要点来验证这一点
添加
Stream<ArtifactOnKafka> streamByServerIdAndSiteId(String serverId, String siteId);
访问它可以得到
java.lang.ClassCastException: class cc.ArtifactOnKafka cannot be cast to class java.util.stream.Stream (cc.ArtifactOnKafka is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @2cfb4a64; java.util.stream.Stream is in module java.base of loader 'bootstrap')
看来它不受支持。
伪装
default Stream<ArtifactOnKafka> streamByServerIdAndSiteId(String serverId, String siteId) {
return findByServerIdAndSiteId(serverId, siteId).stream();
}
我无法在 https://docs.spring.io/spring-data/redis/docs/current/reference/html/ 中明确找到它,但我想知道 Redis 是否支持 Java 流,所以我们可以
Stream<SomeDataStruct> findByServerIdAndSiteIdAndUserId(String serverId, String siteId, int userId);
它会根据需要释放资源吗?
我知道 JPA 确实支持流,但我必须明确地执行 entityManager.detach(element)
以防止实体管理器占用大量内存。
我原以为它会在他们的 spring-data-commons 中,但 https://spring.io/projects/spring-data#learn 没有任何链接只有标签。
我能够到达我的代码的要点来验证这一点
添加
Stream<ArtifactOnKafka> streamByServerIdAndSiteId(String serverId, String siteId);
访问它可以得到
java.lang.ClassCastException: class cc.ArtifactOnKafka cannot be cast to class java.util.stream.Stream (cc.ArtifactOnKafka is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @2cfb4a64; java.util.stream.Stream is in module java.base of loader 'bootstrap')
看来它不受支持。
伪装
default Stream<ArtifactOnKafka> streamByServerIdAndSiteId(String serverId, String siteId) {
return findByServerIdAndSiteId(serverId, siteId).stream();
}