如何在gocql中应用读写一致性?

bnl4lu3b  于 2023-03-06  发布在  Go
关注(0)|答案(1)|浏览(123)

我使用的是https://github.com/gocql/gocql,我想设置cassandra的读写一致性。

cluster := gocql.NewCluster(hosts...)
cluster.Consistency = gocql.ParseConsistency(consistency)

如果如上所述应用一致性设置,是否同时应用读/写一致性?或者是否有办法分别应用读和写一致性?

cnh2zyt3

cnh2zyt31#

可以使用以下命令设置全局一致性:

cluster.Consistency = gocql.LocalQuorum

这将同时适用于读和写,使用GoCQL驱动程序无法为仅读或仅写配置不同的CL。
或者,您可以使用Consistency()SetConsistency()设置会话或仅查询的一致性。例如:

session.Query(query, ...).Consistency(gocql.One)

有效的一致性常量为:

Any
    One
    Two
    Three
    Quorum
    All
    LocalQuorum
    EachQuorum
    LocalOne

请注意,一般的建议是在几乎所有情况下使用本地法定人数。干杯!

相关问题