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