Golang連接Redis
數(shù)據(jù)庫(kù)
golang
連接數(shù)據(jù)庫(kù),這里博主推薦使用go-redis
這個(gè)庫(kù),理由很簡(jiǎn)單(連接數(shù)據(jù)庫(kù)的操作類似在數(shù)據(jù)庫(kù)里面輸入命令) go-redis
的安裝方式
go get -v https://github.com/go-redis/redis
-v
小v,是輸出過(guò)程。一般情況下不帶-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
可以設(shè)置庫(kù)的數(shù)量為255
個(gè),但實(shí)際上我們連接使用時(shí),只有0-19
這二十個(gè)庫(kù)。默認(rèn)配置下,redis
可以使用0-16
庫(kù)
分享一些使用過(guò)程中,很快捷的技巧 如果在使用redis
時(shí),需要查詢一下key
是否存在
value, _ := client.Exists(key).Result()
會(huì)返回1或0,1代表key存在,0代表不存在。
新建key-value
鍵值對(duì)時(shí),可以使用Set
方式
這里,需要我們將value
進(jìn)行字符串轉(zhuǎn)化
import (
"encoding/json"
)
var value map[string]string{"username": "", "userpassword": ""}
mjson, _ := json.Marshal(value)
mString := string(mjson)
client.Set(UserName, mString, 0).Err()
獲取鍵值對(duì),可以使用Get
方式
UserInfo, _ := client.Get(UserName).Result()
UserName
是你要查詢的值,如果覺得你查詢的值不知道在不在,那最好先Exists
一下
返回Key
所對(duì)應(yīng)的Value
,也就是存儲(chǔ)的value
。
根據(jù)單一條件進(jìn)行查找,可以使用Keys
方式
keys, _ := client.Keys(search).Result()
注意一下,redis
不支持多條件查找。也就是說(shuō)正常的SQL
語(yǔ)句是不行的,畢竟非關(guān)系型數(shù)據(jù)庫(kù)嘛~
如果想要多條件的話,可以*key1*key2*
這樣寫,但有局限性。
如果匹配到,就返回帶有key
的數(shù)組。如果沒有匹配到,就返回空的數(shù)組。
更多使用方式,可以去從go-redis
的文檔上看。
https://godoc.org/github.com/go-redis/redis
到此這篇關(guān)于Golang連接Redis數(shù)據(jù)庫(kù)的方法的文章就介紹到這了,更多相關(guān)Golang連接Redis數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Golang使用lua腳本實(shí)現(xiàn)redis原子操作
- golang實(shí)現(xiàn)redis的延時(shí)消息隊(duì)列功能示例
- 在Golang中使用Redis的方法示例
- Golang 實(shí)現(xiàn) Redis系列(六)如何實(shí)現(xiàn) pipeline 模式的 redis 客戶端