草庐IT

Cassandra

全部标签

go - cassandra中复合键的二级索引

我在cassandra中有这张表CREATETABLEglobal_product_highlights(deal_idtext,product_idtext,highlight_strengthdouble,category_idtext,creation_datetimestamp,rankint,PRIMARYKEY(deal_id,product_id,highlight_strength))当我在Golang中触发以下查询时err=session.Query("selectproduct_idfromglobal_product_highlightswherecategory

windows - 无法创建连接到 Cassandra 的 session

我正在使用这个gocql包。我正在努力让这个例子发挥作用。funcmain(){//connecttotheclustercluster:=gocql.NewCluster("192.168.1.1","192.168.1.2","192.168.1.3")cluster.ProtoVersion=3cluster.Keyspace="example"cluster.Consistency=gocql.Quorumsession,err:=cluster.CreateSession()defersession.Close()iferr!=nil{fmt.Printf("%v\n",er

go - 使用 gocql 将用户定义类型的数组插入 Cassandra

我在Cassandra中有一个UDT,我有一个表,其架构中包含这些UDT的数组。这是一个示例:CREATETYPEkeyspace.test_type(xfloat,yfloat)在我的架构中我有CREATETABLEtest_table(keytext,test_arraylist>,PRIMARYKEY(key))在我的go包中,我构建了一个结构:typeTest_typestruct{xfloat32yfloat32}然后我有一个函数,它基本上返回这个test_type的列表:[]test_type,我们称它为my_array。当我尝试像这样使用gocql进行插入时:err:=g

go - 在 golang 中接受 Cassandra 的 Set 数据类型

我在cassandra中有一个类型为set的列。Usiggocql我想在golang代码中接受该列。因此,在接受整个集合被接受的变量的数据类型时应该是什么。例如:err=session.Query("selectproduct_listfromcategorywherecategory_id=?",key).Scan(&productIdList)product_list是set类型,那么golang中productIdList的数据类型应该是什么? 最佳答案 看起来gocql默认使用slice或数组作为Cassandra的集合类型

Cassandra Decimal 的 Golang 类型

很抱歉问了这个问题,但是累了就写在这里。我无法将Golang的任何变量类型映射到Cassandra的多精度Decimal类型我使用了接口(interface){},只要我不在变量中赋值,它就可以工作。我这样做的那一刻,它有问题 最佳答案 可以使用无限精度小数包,直接导入这个gopkg,导入“gopkg.in/inf.v0”假设您有一个特定模型,该模型反射(reflect)或绑定(bind)到具有十进制数据类型的Scylla/Cas​​sandra表,typeTradeModelstruct{Balance*inf.Dec}要将您的字

go - 为具有多个主机 ip 的 cassandra 迁移库实现

我正在尝试使用golang-migrate库进行cassandra迁移。在Docs,他们提到像这样使用cassandraurlcassandra://host:port/keyspace?param1=value¶m2=value2我们将为cassandra提供不止一台主机。我是否需要为每个主机循环并分别运行迁移?还是有其他办法? 最佳答案 ALTER应该在整个集群中实现/复制。Migrate使用最高级别的一致性(ALL/https://docs.datastax.com/en/cql/3.3/cql/cql_referen

go - 不断重新连接到 Cassandra

我在网上了解到,使用Cassandra时的最佳做法是在您的服务生命周期内拥有1个Cluster和1个Session。我的问题是:如果我们的Cassandra服务器出现故障,我如何确保我的集群和/或session将继续尝试重新连接,直到我们的Cassandra服务器重新联机?应该只有集群尝试重新连接,还是只有session,或者两者都尝试重新连接?我们正在使用Go和github.com/gocql/gocql为我们的服务。我在gocql文档中看到了以下代码片段,但看起来它只有有限的重试次数:cluster.ReconnectionPolicy=&gocql.ConstantReconne

go - 如何用GO语言创建持久的cassandra连接?

我正在尝试学习GO语言。在我的小项目中,建立了CassandraDB连接,但创建session需要更多时间。我想创建持久连接,以便从下一次点击开始,连接时间可以忽略不计。有什么方法可以建立持久连接吗?Cassandra连接代码如下:cluster:=gocql.NewCluster("cluseter_ip")pass:=gocql.PasswordAuthenticator{"username","password"}cluster.Keyspace="keyspace_name"cluster.Authenticator=passcluster.Consistency=gocql.

支持连接池的 Golang cassandra 客户端

我们正在使用gocql(https://github.com/gocql/gocql)驱动程序从我们的golang服务器连接到Cassandra。对于每个http请求,我们都会创建一个新session并将行插入到cassandra中。我们觉得为每个请求创建一个session非常耗费资源。典型代码funcNewSession()(*gocql.Session,error){config:=NewClusterConfig()ifconfig==nil{returnnil,&CassandraError{"Oops!Clusterinitializationfailed."}}return

go - Go 语言的 Cassandra 数据存储客户端

是否可以用Go语言为Cassandra数据存储编写客户端? 最佳答案 我今天浏览同样的东西,但没有找到任何客户。但是我在GitHub上找到了一个repo,似乎有人在为Go开发Thrift生成器:http://github.com/anatol/thrift 关于go-Go语言的Cassandra数据存储客户端,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2594769/