使用 gocql 驱动程序在 Cassandra 中存储字节片
Storing slice of bytes in Cassandra using gocql driver
如何使用 gocql 驱动程序将字节切片存储为 cassandra blob 类型?
你的问题非常不具体,你没有向我们展示你到目前为止所做的事情。
因为我不知道你的实际问题出在哪里,所以我会 post 我的 WriteRecord
函数,我在使用 gocql 包测试 cassandra 时写了一段时间:
func (cs *cassandra) WriteRecord(table string, fields []string, values ...interface{}) error {
var placeholder []string
for range fields {
placeholder = append(placeholder, "?")
}
querystring := fmt.Sprintf(insertstring, table, strings.Join(fields, ", "), strings.Join(placeholder, ", "))
return cassandraSession.Query(querystring, values...).Exec()
}
如您所见,值的类型为 interface{}
。所以它们可以是任何类型,包括 []byte
类型。注意必须满足以下条件:len(fields) = len(values)
我希望这对您成为 golang
专家的旅程有所帮助 :)
如何使用 gocql 驱动程序将字节切片存储为 cassandra blob 类型?
你的问题非常不具体,你没有向我们展示你到目前为止所做的事情。
因为我不知道你的实际问题出在哪里,所以我会 post 我的 WriteRecord
函数,我在使用 gocql 包测试 cassandra 时写了一段时间:
func (cs *cassandra) WriteRecord(table string, fields []string, values ...interface{}) error {
var placeholder []string
for range fields {
placeholder = append(placeholder, "?")
}
querystring := fmt.Sprintf(insertstring, table, strings.Join(fields, ", "), strings.Join(placeholder, ", "))
return cassandraSession.Query(querystring, values...).Exec()
}
如您所见,值的类型为 interface{}
。所以它们可以是任何类型,包括 []byte
类型。注意必须满足以下条件:len(fields) = len(values)
我希望这对您成为 golang
专家的旅程有所帮助 :)