2016-09-30 53 views

回答

0

一致性水平在驅動程序級別只是運行一個查詢之前設定,所以在Cassandra.yaml文件沒有這樣的選擇。

如果您打算使用準備語句(Java驅動程序爲例):

PreparedStatement prepStatement = session.prepare("select * from users"); 
prepStatement.setConsistencyLevel(ConsistencyLevel.ALL); 

我們的方法設置中的所有語句一致性水平集中在工具類的語句創建。採用這種方法,我們也成功地防止了批處理語句中的內存泄漏。

Cassandra batch statements memory leak issue

2

用Java驅動程序建立羣集時,您可以覆蓋默認CL(之一):

QueryOptions qo = new QueryOptions(); 
qo.setConsistencyLevel(ConsistencyLevel.QUORUM); 
cluster = Cluster.builder() 
       .withQueryOptions(qo) 
       .addContactPoints(CONTACT_POINTS).withPort(PORT) 
       .build(); 

Python的驅動程序似乎支持這個還通過ExecutionProfile秒。

cqlsh使用CONSISTENCY命令。

相關問題