# go-redis 简单示例
package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
//go get -v github.com/gomodule/redigo/redis
func main() {
//连接redis
conn,err := redis.Dial("tcp","192.168.56.101:6379")
if err != nil{
fmt.Println(err)
return
}
//关闭数据库
defer conn.Close()
fmt.Println("===================================")
//操作数据库
conn.Send("set","k1","go")
conn.Send("mset","age",11,"id","110001")
conn.Flush()
reply,err := conn.Receive()
if err != nil{
fmt.Println(err)
return
}
fmt.Println(reply)
fmt.Println("===================================")
reply,err = conn.Do("set","k2","c++")
if err != nil{
fmt.Println(err)
return
}
fmt.Println(reply)
fmt.Println("===================================")
//事务
conn.Send("MULTI")
conn.Send("get","k1")
conn.Send("set","k1","gogo")
conn.Send("get","k1")
reply,err = conn.Do("EXEC")
if err != nil{
fmt.Println(err)
return
}
fmt.Println(reply)
fmt.Println("===================================")
//返回值处理
reply,err = redis.String(conn.Do("get","k2"))
if err != nil{
fmt.Println(err)
return
}
fmt.Println(reply)
fmt.Println("===================================")
reply,err = redis.Strings(conn.Do("mget","k1","k2"))
if err != nil{
fmt.Println(err)
return
}
fmt.Println(reply)
fmt.Println("===================================")
reply2,err := redis.Values(conn.Do("mget","k1","age"))
fmt.Println(reply2)
var s string
var i int
redis.Scan(reply2,&s,&i)
fmt.Println(s,i)
}