Golang
連接Redis
數據庫
golang
連接數據庫,這裏博主推薦使用go-redis
這個庫,理由很簡單(連接數據庫的操作類似在數據庫裏面輸入命令)
go-redis
的安裝方式go get -v https://github.com/go-redis/redis
-v
小v,是輸出過程。一般情況下不帶-v
什麼反饋都看不到。
連接
redis
的方式package ... import ( "github.com/go-redis/redis" ) func main() { client := redis.NewClient(&redis.Options{ Addr: "127.0.0.1:6379", Password: "", DB: 0, }) defer client.Close() }
順帶提一下,
redis
可以設置庫的數量爲255
個,但實際上我們連接使用時,只有0-19
這二十個庫。默認配置下,redis
可以使用0-16
庫
分享一些使用過程中,很快捷的技巧
如果在使用
redis
時,需要查詢一下key
是否存在value, _ := client.Exists(key).Result()
會返回1或0,1代表key存在,0代表不存在。
新建
key-value
鍵值對時,可以使用Set
方式這裏,需要我們將
value
進行字符串轉化import ( "encoding/json" ) var value map[string]string{"username": "", "userpassword": ""} mjson, _ := json.Marshal(value) mString := string(mjson) client.Set(UserName, mString, 0).Err()
獲取鍵值對,可以使用
Get
方式UserInfo, _ := client.Get(UserName).Result()
UserName
是你要查詢的值,如果覺得你查詢的值不知道在不在,那最好先Exists
一下返回
Key
所對應的Value
,也就是存儲的value
。
根據單一條件進行查找,可以使用
Keys
方式keys, _ := client.Keys(search).Result()
注意一下,
redis
不支持多條件查找。也就是說正常的SQL
語句是不行的,畢竟非關係型數據庫嘛~如果想要多條件的話,可以
*key1*key2*
這樣寫,但有侷限性。如果匹配到,就返回帶有
key
的數組。如果沒有匹配到,就返回空的數組。
更多使用方式,可以去從
go-redis
的文檔上看。https://godoc.org/github.com/go-redis/redis