gpt4 book ai didi

java - 带有 Cassandra 的 Java 驱动程序的多键空间

转载 作者:行者123 更新时间:2023-11-30 06:03:26 27 4
gpt4 key购买 nike

目前,我们使用 Cassandra 的 Java 驱动程序根据属性文件中定义的属性来配置 session ,如下所示:

Cluster cluster = Cluster.builder()
.addContactPoints(contactPoints)
.withPort(environment.getRequiredProperty("cassandra.port", Integer.class))
.withCredentials(username, password)
.build();

Session session = cluster.connect(environment.getRequiredProperty("cassandra.keyspace"));

我们现在想要实现的是动态使用多键空间,如果有办法的话,能够检测给定请求的 cassandra 连接,而不需要对除配置之外的现有逻辑进行太多更改。对此的任何建议或帮助都是一个很好的开始

最佳答案

实现此目的的最佳方法是在所有查询中将表指定为 keyspace.table,并且不要依赖于 session 中设置的键空间。当然,您可以拥有多个 session 对象 - 每个键空间一个,但不建议这样做,因为每个 session 都非常重量级,并且至少打开到集群中每个节点的 2 个连接。

最新版本的 Java 驱动程序支持通过 setKeyspace function of the SimpleStatement class 设置键空间,但它也需要 Cassandra 端的支持(虽然不记得是哪个版本,但至少 DSE 6.0 支持此)。

(更新):查询级别的设置键空间未合并到 OSS Java 驱动程序中,并且available only in DSE Java driver .

关于java - 带有 Cassandra 的 Java 驱动程序的多键空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51824869/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com