在我看來,如果重新嘗試,使用IF會使聲明失敗。因此,該聲明不是冪等的。例如,考慮到以下CQL,如果由於超時或系統問題而失敗,並且我重試了它,那麼它可能無法工作,因爲另一個人可能在重試之間更新了版本。 UPDATE users
SET name = 'foo', version = 4
WHERE userid = 1
IF version = 3
Cassandra更新的最佳實踐是使更新
幾分鐘前,我通過apt-get升級(在Ubuntu Linux 14.04 LTS上)將Cassandra升級到3.0.0,安裝並重新啓動後,我可以使用連接到我的密鑰空間cqlsh工具和一切正常,但當我第一次嘗試使用DataStax PHP驅動程序進行連接時,第一次得到「所有I/O線程上的所有連接都很忙」,但現在我得到「沒有可用於控制連接的主機」。連接數據是相同的,所以127.0.0.1和默認端口