我可以使用 spring 数据 couchbase 从副本读取吗?
Can I do a read from replica using spring data couchbase?
对于读取,Couchbase 建议检查某些异常并从副本读取(以提高故障转移期间发生的操作的可用性,只要您对可能过时的数据没有问题)。spring 数据为此提供了什么?我找不到公开的 getFromReplica 操作。
确实 getFromReplica 没有暴露在 Spring 数据中。您必须降低级别才能做到这一点。
大多数使用 spring 数据的人都希望结果是一致的。所以我们希望开发人员在做出会影响一致性级别的决定时非常清楚。这就是为什么 getFromReplica 无法通过 Spring 获取数据的原因。以及为什么必须直接使用 Couchbase 存储桶对象。这必须是您的决定,因为它可能会给您带来不一致的结果。
现在这只是为了 Key/Value 获取。如果您正在使用查询,则可以通过修改 application.properties 中的 属性 来调整一致性级别:
# Default level of consistency (read-your-own-writes|eventually-consistent|strongly-consistent|update-after)
spring.data.couchbase.consistency=read-your-own-writes
文档中解释了一致性级别:http://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.repository.consistency
对于读取,Couchbase 建议检查某些异常并从副本读取(以提高故障转移期间发生的操作的可用性,只要您对可能过时的数据没有问题)。spring 数据为此提供了什么?我找不到公开的 getFromReplica 操作。
确实 getFromReplica 没有暴露在 Spring 数据中。您必须降低级别才能做到这一点。
大多数使用 spring 数据的人都希望结果是一致的。所以我们希望开发人员在做出会影响一致性级别的决定时非常清楚。这就是为什么 getFromReplica 无法通过 Spring 获取数据的原因。以及为什么必须直接使用 Couchbase 存储桶对象。这必须是您的决定,因为它可能会给您带来不一致的结果。
现在这只是为了 Key/Value 获取。如果您正在使用查询,则可以通过修改 application.properties 中的 属性 来调整一致性级别:
# Default level of consistency (read-your-own-writes|eventually-consistent|strongly-consistent|update-after)
spring.data.couchbase.consistency=read-your-own-writes
文档中解释了一致性级别:http://docs.spring.io/spring-data/couchbase/docs/current/reference/html/#couchbase.repository.consistency