go cassandra 示例2


本文摘自网络,作者,侵删。

建立连接,参数配置(说明:下文中golangConfig.InitConfigMap为项目启动时加载的配置文件,读取成全局的Map)

package cassandra

import (
	"fmt"
	"github.com/gocql/gocql"
	"time"
	"src/golangConfig"
)

var (
	// connect to the cluster
	CassandraSession        *gocql.Session
	cluster                 *gocql.ClusterConfig
	CassandraSessionBatch   *gocql.Batch
	clusterCreateSessionErr error
	CassandraInsertCql      string
)

func CassandraConnectInit() {
	CassandraInsertCql = "INSERT INTO " + golangConfig.InitConfigMap["cassandraTable"].(string) + " (srcIp, .....,uuid) VALUES (?,?,?,?,?,?,?,?,?,?,?,?) "
	cluster = gocql.NewCluster()
	cluster.Keyspace = golangConfig.InitConfigMap["cassandraKeyspace"].(string)
	hosts := []string{golangConfig.InitConfigMap["cassandraServiceUrl"].(string)}
	cluster.Hosts = hosts
	cluster.ConnectTimeout = golangConfig.InitConfigMap["cassandraConnectTimeout"].(time.Duration)
	cluster.Timeout = golangConfig.InitConfigMap["cassandraTimeout"].(time.Duration)
	cluster.Consistency = gocql.Quorum
	cluster.NumConns = golangConfig.InitConfigMap["cassandraNumConns"].(int)
	cluster.Consistency = gocql.One
	CassandraSession, clusterCreateSessionErr = cluster.CreateSession()
	if clusterCreateSessionErr != nil {
		panic(clusterCreateSessionErr)
	}

}

func CassandraSessionBatchInit() *gocql.Batch {
	CassandraSessionBatch = CassandraSession.NewBatch(gocql.UnloggedBatch)
	return CassandraSessionBatch
}

func InsertCassandraMany(batch1 *gocql.Batch) {
	if err := CassandraSession.ExecuteBatch(batch1); err != nil {
		fmt.Println("execute batch:", err)
	}
}

连接初始化,在Main方法中调用

dbwrite.CassandraInit()

阅读剩余部分

相关阅读 >>

Golang gin怎么安装

解析Go中的多态 -无需interfaces

【提问】Golang的ide在同一个目录下,函数调用undifined,求大佬告知如何设置run kind

Golang开发时如何debug

手撸Golang 基本数据结构与算法 二叉查找树

理解 Go 1.13 中 sync.pool 的设计与实现

23 Golang中的接口(三)

一文讲解Golang怎么实现反转链表

dbatool-dodba

iota在Go中怎么使用

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...