我是新来的Cassandra,想请教你一些事情。我有一些事件,对于每个事件,应用程序都会使用一些与此类似的代码进行响应:
Cluster cluster = Cluster.builder().addContactPoint(CONTACT_POINT).build();;
Session session = cluster.connect(KEYSPACE);
Statement statement = QueryBuilder.update(KEYSPACE, TABLE_NAME)
.with(set(STATE_COLUMN, status.toString()))
.and(set(PERCENT_DONE_COLUMN, percentDone))
.where(eq(FILE_ID_COLUMN, id));
//or whatever query I might have
session.execute(statement);
cluster.close();
Run Code Online (Sandbox Code Playgroud)
我的问题是这样的:
每次都调用cluster.connect()and更好,还是在应用程序启动时调用一次更好?cluster.close()cluster.connect()
谢谢
Cassandra 中的连接被设计为持久性的,因此不应为每个 CQL 语句打开和关闭它们。设置连接有点昂贵,因为它创建线程池并从集群获取大量元数据。
您希望在应用程序启动时建立一次连接,并在应用程序关闭时关闭它。如果您的应用程序中有多个线程,您通常希望它们都共享一个连接。
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |