如何在 spring-data-cassandra 中将查询标记为幂等?
How to mark query as idempotent in spring-data-cassandra?
我正在从使用 Cassandra java 驱动程序的代码直接迁移到 spring-data-cassandra
。旧代码使用 com.datastax.driver.core.PreparedStatement#setIdempotent
将一些查询标记为 idempotent
(在某些情况下提供 performance/latency 奖励)
在通过 spring-data-cassandra
或通过 spring-cql
工作时,有什么方法可以设置此 属性 吗?我希望它是 @Query
注释的一个选项,或者查询方法的单独注释,或者至少是 QueryOptions
的一部分
我发现的唯一相关的东西是 https://jira.spring.io/browse/DATACASS-403 ,看起来像在 CassandraTemplate
中使用的 org.springframework.cassandra.core.CachedPreparedStatementCreator
,不支持幂等标志(甚至重置此标志以进行手动构建查询)。此外,我没有在 github
的 2.0 spring-data-cassandra
分支中找到任何提及
不,它还没有计划用于 2.0,因为缓存是 broken,幂等查询的全部意义在于使其可缓存。
在修复缓存问题之前,不会内置对此标志的支持。当我查看此问题时,https://jira.spring.io/browse/DATACASS-291 是阻止此标志可用的罪魁祸首(恕我直言)
我正在从使用 Cassandra java 驱动程序的代码直接迁移到 spring-data-cassandra
。旧代码使用 com.datastax.driver.core.PreparedStatement#setIdempotent
将一些查询标记为 idempotent
(在某些情况下提供 performance/latency 奖励)
在通过 spring-data-cassandra
或通过 spring-cql
工作时,有什么方法可以设置此 属性 吗?我希望它是 @Query
注释的一个选项,或者查询方法的单独注释,或者至少是 QueryOptions
我发现的唯一相关的东西是 https://jira.spring.io/browse/DATACASS-403 ,看起来像在 CassandraTemplate
中使用的 org.springframework.cassandra.core.CachedPreparedStatementCreator
,不支持幂等标志(甚至重置此标志以进行手动构建查询)。此外,我没有在 github
spring-data-cassandra
分支中找到任何提及
不,它还没有计划用于 2.0,因为缓存是 broken,幂等查询的全部意义在于使其可缓存。
在修复缓存问题之前,不会内置对此标志的支持。当我查看此问题时,https://jira.spring.io/browse/DATACASS-291 是阻止此标志可用的罪魁祸首(恕我直言)