1
我有刪除從卡桑德拉DB一些節點如下功能:併發刪除和插入的卡珊德拉DB
public void deleteNodeDataFromSensordata2(String nodeId, long startTime, long endTime) {
logger.info("Star : delete Sensordata2 of node [" + nodeId + "] " + "start [" + startTime + "] " + "end ["
+ endTime + "] data");
try {
BoundStatement stmt = sensordata2NodeDataDelete.bind();
stmt.setList(DAYS, getDaysAsList(startTime, endTime));
stmt.setString(NODEID, nodeId);
session.execute(stmt);
} catch (Exception e) {
logger.error("Error from cassandra", e);
}
logger.info("End : delete of [" + nodeId + "] Sensordata2 data");
}
刪除查詢將如下:
我想確保上述所有數據在下一個命令執行後被刪除。上面的代碼是否具有這種可靠性?
但這裏(https://stackoverflow.com/questions/21442717/how-do-i-set-the-consistency-level-of-an-individual-cql-query-in-cql3)他們建議不要使用一致性水平。 – Luckylukee
那麼這個答案是指這些查詢中的'USING CONSISTENCY'部分,而不是設置一致性級別。他們將CL移到了協議中,以便驅動程序不對查詢進行設置。你應該肯定使用你的用例的一致性水平,托馬斯的答案是正確的。 –