31.7 Cassandra
Cassandra是一个开源的分布式数据库管理系统,旨在处理许多商用服务器上的大量数据。Spring Boot提供Cassandra的自动配置以及Spring
数据Cassandra提供的摘要。有一个 spring-boot-starter-data-cassandra “Starter”用于以方便的方式收集依赖项。
31.7.1连接到Cassandra
您可以像对待任何其他Spring Bean一样注入自动配置的 CassandraTemplate 或Cassandra Session 实例。spring.data.cassandra.* 属性
可用于自定义连接。通常,您提供 keyspace-name 和 contact-points 属性,如以下示例所示:
spring.data.cassandra.keyspace-name=mykeyspace
spring.data.cassandra.contact-points=cassandrahost1,cassandrahost2
您还可以注册实现 ClusterBuilderCustomizer 的任意数量的beans以进行更高级的自定义。
以下代码清单显示了如何注入Cassandra bean:
@Component
public class MyBean {
private CassandraTemplate template;
@Autowired
public MyBean(CassandraTemplate template) {
this.template = template;
}
// ...
}
如果您添加 CassandraTemplate 类型的 @Bean ,它将替换默认值。
31.7.2 Spring数据Cassandra存储库
Spring数据包括Cassandra的基本存储库支持。目前,这比前面讨论的JPA存储库更有限,需要使用 @Query 来注释finder方法。
31.8 Couchbase
Couchbase是一个开源的,分布式的,多模型的NoSQL面向文档的数据库,针对交互式应用程序进行了优化。Spring Boot提供了Couchbase
的自动配置以及Spring Data Couchbase提供的抽象 。有 spring-boot-starter-data-couchbase
和 spring-boot-starter-data-couchbase-reactive “Starters”用于以方便的方式收集依赖项。
31.8.1连接Couchbase
您可以通过添加Couchbase SDK和一些配置来获得 Bucket 和 Cluster 。spring.couchbase.* 属性可用于自定义连接。通常,您提供引导主
机,存储桶名称和密码,如以下示例所示:
spring.couchbase.bootstrap-hosts=my-host-1,192.168.1.123
spring.couchbase.bucket.name=my-bucket
spring.couchbase.bucket.password=secret
您需要至少提供引导主机,在这种情况下,存储桶名称为 default ,密码为空字符串。或者,您可以定义自己
的 org.springframework.data.couchbase.config.CouchbaseConfigurer @Bean 来控制整个配置。
也可以自定义一些 CouchbaseEnvironment 设置。例如,以下配置更改用于打开新 Bucket 的超时并启用SSL支持:
spring.couchbase.env.timeouts.connect=3000
spring.couchbase.env.ssl.key-store=/location/of/keystore.jks
spring.couchbase.env.ssl.key-store-password=secret
查看 spring.couchbase.env.* 属性以获取更多详细信息。