卡桑德拉-不要高调

时间:2018-12-14 15:58:00

标签: cassandra

我们有一个要求,我们希望我们的应用程序(可能部署在多个主机上)在Cassandra中创建一行。唯一成功创建行的主机执行工作。编写如下所示的insert语句是否足够,如果两台服务器尝试插入该行,则只有一个成功,而另一个则获得异常/不成功?

name: myappname description: A new Flutter project. # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 # followed by an optional build number separated by a +. # Both the version and the builder number may be overridden in flutter # build by specifying --build-name and --build-number, respectively. # Read more about versioning at semver.org. version: 1.0.0+1 environment: sdk: ">=2.0.0-dev.68.0 <3.0.0" dependencies: flutter: sdk: flutter banner: ^0.1.3 cloud_firestore: ^0.8.2 http: ^0.12.0 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^0.1.2 sqflite: any firebase_auth: ^0.6.6 firebase_core: ^0.2.5+1 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. dev_dependencies: google_sign_in: ^3.0.4 flutter_test: sdk: flutter # For information on the generic Dart part of this file, see the # following page: https://www.dartlang.org/tools/pub/pubspec # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true # To add assets to your application, add an assets section, like this: # assets: # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.io/assets-and-images/#resolution-aware. # For details regarding adding assets from package dependencies, see # https://flutter.io/assets-and-images/#from-packages # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a # "family" key with the font family name, and a "fonts" key with a # list giving the asset and other descriptors for the font. For # example: # fonts: # - family: Schyler # fonts: # - asset: fonts/Schyler-Regular.ttf # - asset: fonts/Schyler-Italic.ttf # style: italic # - family: Trajan Pro # fonts: # - asset: fonts/TrajanPro.ttf # - asset: fonts/TrajanPro_Bold.ttf # weight: 700 # # For details regarding fonts from package dependencies, # see https://flutter.io/custom-fonts/#from-packages > Blockquote

想了解使用INSERT INTO keyspace1.claim (claim_id, status) VALUES (1, false) IF NOT EXIST会避免出现问题。

谢谢, 希尔帕

1 个答案:

答案 0 :(得分:3)

是的,IF NOT EXISTS将包含一个paxos回合和写前读取,尽管速度要慢得多。使用wasApplied()检查插入的结果集,以了解是否使用了该结果集。

@D Stanley