go - 使用 gocql 驱动程序在 Cassandra 中存储 byte slice

标签 go cassandra gocql nosql

如何使用 gocql 驱动程序将字节 slice 存储为 cassandra blob 类型?

最佳答案

您的问题非常不具体,您没有向我们展示您到目前为止所做的事情。

因为我不知道你的实际问题出在哪里,我将只发布我的 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 专家的旅程有所帮助:)

关于go - 使用 gocql 驱动程序在 Cassandra 中存储 byte slice ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45563495/

相关文章:

json - 解码具有不同结构但相同键的嵌套 JSON

database - 协调器节点及其对性能的影响

cassandra - 锡拉/ Cassandra : compaction strategy for time series data without TTL

go - 使用gocql的cassandra查询中的可变参数

go - 如何使用 go-git 查找 sha of origin/master?

go - 如何将类型 []os.FileInfo 转换为字符串?

nosql - Cassandra 数据库设计

sql - 为什么 Cassandra 在插入重复记录时不会报错?

gocql 无法将 blob 解码为 *[20]uint8

戈朗 : Stack Trace single routine when program crashes