Go語(yǔ)言開發(fā)redis封裝及簡(jiǎn)單使用詳解
go redis 集合操作--sadd
redis的go語(yǔ)言包,我們使用官方推薦的redigo,https://github.com/garyburd/redigo
安裝redigo
$ go get github.com/garyburd/redigo
帶密碼的redis操作
package main import ( "log" "github.com/garyburd/redigo/redis" ) func main() { server := "127.0.0.1:6379" option := redis.DialPassword("123456") c, err := redis.Dial("tcp", server, option) if err != nil { log.Println("connect server failed:", err) return } defer c.Close() v, err := redis.Int64(c.Do("SADD", "myset", "10.8.37.98")) if err != nil { log.Println("SADD failed:", err) return } log.Println("value:", v) }
批量添加
package main import ( "log" "github.com/garyburd/redigo/redis" ) func main() { server := "127.0.0.1:6379" option := redis.DialPassword("123456") c, err := redis.Dial("tcp", server, option) if err != nil { log.Println("connect server failed:", err) return } defer c.Close() setKey := "myset" args := []interface{}{setKey} args = append(args, "10.1") args = append(args, "10.2") v, err := redis.Int64(c.Do("SADD", args...)) if err != nil { log.Println("SADD failed:", err) return } log.Println("value:", v) }
無(wú)密碼redis操作
package main import ( "fmt" "github.com/gomodule/redigo/redis" ) func main() { c, err := redis.Dial("tcp", "127.0.0.1:6379") if err != nil { fmt.Println(err) return } defer c.Close() c.Do("SET", "hello", "world") s, err := redis.String(c.Do("GET", "hello"))
redis封裝包
package redis import ( "autumn/tools/cfg" "fmt" "github.com/gomodule/redigo/redis" "log" ) var REDIS redis.Conn func InitRedis() { REDIS = redis_connect("default") } func CloseRedis() { REDIS.Close() } func redis_connect(project string) redis.Conn { server := fmt.Sprintf("%s:%s", cfg.Get("redis", project+".host").String(), cfg.Get("redis", project+".port").String()) var err error option := redis.DialPassword(cfg.Get("redis", project+".passwd").String()) c, err := redis.Dial("tcp", server, option) if err != nil { log.Fatal("[GIN-MYSQL(" + project + ")] connect to redis error:" + err.Error()) } log.Println("[GIN-Redis(" + project + ")] connected success") return c }
參考
redigo
https://github.com/garyburd/redigo
redigo API Reference
https://godoc.org/github.com/gomodule/redigo/redis
以上就是Go語(yǔ)言開發(fā)redis封裝及簡(jiǎn)單使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Go語(yǔ)言開發(fā)redis封裝及使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Golang定時(shí)器Timer與Ticker的使用詳解
在 Go 里有很多種定時(shí)器的使用方法,像常規(guī)的 Timer、Ticker 對(duì)象,本文主要為大家介紹了Timer與Ticker的使用,感興趣的小伙伴可以了解一下2023-05-05B站新一代 golang規(guī)則引擎gengine基礎(chǔ)語(yǔ)法
這篇文章主要為大家介紹了B站新一代 golang規(guī)則引擎gengine基礎(chǔ)語(yǔ)法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12Windows系統(tǒng)中搭建Go語(yǔ)言開發(fā)環(huán)境圖文詳解
GoLand?是?JetBrains?公司推出的商業(yè)?Go?語(yǔ)言集成開發(fā)環(huán)境(IDE),這篇文章主要介紹了Windows系統(tǒng)中搭建Go語(yǔ)言開發(fā)環(huán)境詳解,需要的朋友可以參考下2022-10-10go編程中g(shù)o-sql-driver的離奇bug解決記錄分析
這篇文章主要為大家介紹了go編程中g(shù)o-sql-driver的離奇bug解決記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05GO中?分組聲明與array,?slice,?map函數(shù)
這篇文章主要介紹了GO中?分組聲明與array,slice,map函數(shù),Go語(yǔ)言中,同時(shí)聲明多個(gè)常量、變量,或者導(dǎo)入多個(gè)包時(shí),可采用分組的方式進(jìn)行聲明,下面詳細(xì)介紹需要的小伙伴可以參考一下2022-03-03詳解golang中bufio包的實(shí)現(xiàn)原理
這篇文章主要介紹了詳解golang中bufio包的實(shí)現(xiàn)原理,通過(guò)分析golang中bufio包的源碼,來(lái)了解為什么bufio能夠提高文件讀寫的效率和速度2018-01-01看看你的Go應(yīng)用是否用了正確CPU核數(shù)
這篇文章主要為大家介紹了Go應(yīng)用正確的CPU核數(shù)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Golang打包go項(xiàng)目部署到linux服務(wù)器正確方法
這篇文章主要給大家介紹了關(guān)于Golang打包go項(xiàng)目部署到linux服務(wù)器的正確方法,Go?是一個(gè)開源的編程語(yǔ)言,它能讓構(gòu)造簡(jiǎn)單、可靠且高效的軟件變得容易,具有簡(jiǎn)潔、快速、安全,并行、有趣、開源,內(nèi)存管理、v數(shù)組安全、編譯迅速的特征,需要的朋友可以參考下2023-10-10