golang基础-redis使用
发布时间:2020-12-16 09:41:59 所属栏目:大数据 来源:网络整理
导读:redis安装 set类型 hash类型 批量set类型 队列操作 redisPool redis安装 安装完毕后解压目录如下 点击redis-server.exe启动redis 然后在启动cmd客户端 set类型 package main import ( "fmt" "github.com/garyburd/redigo/redis" ) func main() { var p * int
redis安装安装完毕后解压目录如下 点击redis-server.exe启动redis set类型package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
var p *int
var a int
p = &a
*p = 0
c,err := redis.Dial("tcp","localhost:6379")
if err != nil {
fmt.Println("conn redis failed,",err)
return
}
defer c.Close()
_,err = c.Do("Set","abc", 100)
if err != nil {
fmt.Println(err)
return
}
//redis-cli.exe -h 127.0.0.1 -p 6379
r,err := redis.Int(c.Do("Get","abc"))
if err != nil {
fmt.Println("get abc failed,err)
return
}
fmt.Println(r)
}
输出如下: PS E:golanggo_prosrcrediss> go run main.go
100
hash类型package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
c,err := redis.Dial("tcp","localhost:6379")
if err != nil {
fmt.Println("conn redis failed,err)
return
}
defer c.Close()
_,err = c.Do("HSet","books",1000)
if err != nil {
fmt.Println(err)
return
}
r,err := redis.Int(c.Do("HGet","abc"))
if err != nil {
fmt.Println("get abc failed,err)
return
}
fmt.Println(r)
}
输出如下: PS E:golanggo_prosrcrediss> go run main.go
1000
批量set类型package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
c,err = c.Do("MSet",100,"efg",300)
if err != nil {
fmt.Println(err)
return
}
r,err := redis.Ints(c.Do("MGet","efg"))
if err != nil {
fmt.Println("get abc failed,err)
return
}
for _,v := range r {
fmt.Println(v)
}
}
输出如下: PS E:golanggo_prosrcrediss> go run main.go
100
300
队列操作package main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
func main() {
c,err = c.Do("lpush","book_list","ceg",30)
if err != nil {
fmt.Println(err)
return
}
r,err := redis.String(c.Do("lpop","book_list"))
if err != nil {
fmt.Println("get abc failed,err)
return
}
fmt.Println(r)
}
输出如下: PS E:golanggo_prosrcrediss> go run main.go
30
redis.Poolpackage main
import (
"fmt"
"github.com/garyburd/redigo/redis"
)
var pool *redis.Pool
func init() {
pool = &redis.Pool{
MaxIdle: 16,MaxActive: 0,IdleTimeout: 300,Dial: func() (redis.Conn,error) {
return redis.Dial("tcp","localhost:6379")
},}
}
func main() {
c := pool.Get()
defer c.Close()
_,err := c.Do("Set", 100)
if err != nil {
fmt.Println(err)
return
}
r,err)
return
}
fmt.Println(r)
pool.Close()
}
输出如下: PS E:golanggo_prosrcrediss> go run main.go
100 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |