不要向上插入

w51jfk4q  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(323)

我们需要我们的应用程序(可能部署在多个主机上)在cassandra中创建一行。唯一成功创建行的主机执行工作。下面这样写一个insert语句就足够了吗?如果两个服务器尝试插入行,只有一个成功,而另一个获得异常/不成功? INSERT INTO keyspace1.claim (claim_id, status) VALUES (1, false) IF NOT EXIST 想了解使用 IF NOT EXIST 会避开上游。
谢谢,希尔帕

1zmg4dgp

1zmg4dgp1#

对, IF NOT EXISTS 将包括一个paxos回合和读之前写,虽然要慢得多。使用检查insert的结果集 wasApplied() 来判断是否需要。
https://www.datastax.com/dev/blog/lightweight-transactions-in-cassandra-2-0

相关问题