github地址:
https://github.com/garyburd/redigo
獲取:
go get github.com/garyburd/redigo/redis
鏈接redis:
package main import ( "github.com/garyburd/redigo/redis" "fmt" ) func main(){ // 鏈接Redis r,err := redis.Dial("tcp","127.0.0.1:6379") if err != nil { fmt.Println("error : ", err) return } defer r.Close() }
set :
//永不過期 reply,err := r.Do("set","name","張三") if err != nil { fmt.Println("set error : ", err) return } fmt.Println("reply = ",reply) // reply = OK
expire :
// 為給定 key 設置過期時間,以秒計。 ok , err := r.Do("expire","name",3) if err != nil { fmt.Println("expire error : ",err) return } fmt.Println("ok = ",ok) // ok = 1
PERSIST :
//移除 key 的過期時間,key 將持久保持。 ok , err := r.Do("PERSIST","name") if err != nil { fmt.Println("PERSIST error : ",err) return } fmt.Println("ok = ",ok) //ok = 1
set 設置過期時間 :
// 5秒后過期 reply,err := r.Do("set","name","張三","ex",5) if err != nil { fmt.Println("redis set failed:", err) } fmt.Println("reply = ",reply)
get :
// 獲取指定 key 的值 name,err := redis.String(r.Do("get","name")) if err != nil { fmt.Println("redis get failed:", err) } fmt.Println("name = ",name) // name = 張三
mset :
// 批量 MSET replay,err := r.Do("MSET","name1","張三","name2","李四") if err != nil { fmt.Println("mset error : ",err) return } fmt.Println("replay = ",replay)
mget :
str,err := redis.Strings(r.Do("MGET","name1","name2")) if err != nil { fmt.Println("mget error : ",err) return } fmt.Println("str = ",str) // str = [張三 李四]
del :
// 刪除value del,err := r.Do("del","name1") if err != nil { fmt.Println("del error : ",err) return } fmt.Println("del = ",del) // del = 1
exists :
// 檢測value是否存在 ok,err := redis.Bool(r.Do("exists","name1")) if err != nil { fmt.Println("exists error : ",err) return } fmt.Println("ok = ",ok) // ok = false