redigo的基本使用一
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

浙公网安备 33010602011771号