Go 存储系列 连接Redis与基本操作

如何使用Go语言连接到Redis并进行基本操作
解决问题:连接到Redis,使用基本操作

首先得安装redis的客服端
连接到Redis

  1. 安装第三方包 Redigo

go get github.com/garyburd/redigo/redis

  1. 连接到Redis
//连接到redis,判断是否连接错误
conn,err:=redis.Dial("tcp", "127.0.0.1:6379");if err!=nil{
         fmt.Println("连接错误")
};
defer conn.Close()   //关闭连接

redis.Dial( )详解
函数原型
func Dial(network, address string, options ...DialOption) (Conn, error){....}

参数解析
network:网络协议 "tcp”
address:redis的地址 “127.0.0.1:6379”
options:可以添加一些关于redis的操作

redis.DialDatabase(1) //选择数据库
redis.DialPassword(“xxxx”)) //设置redis的密码

基本操作

  • 写入数据

函数原型
Do(commandName string, args ...interface{}) (reply interface{}, err error)

具体代码

 // SET 为添加操作  username 键值  SmartZou 值

_ , err := conn.Do("SET", “username”, "SmartZou");if err!=nil{
      fmt.Println(err)
}
  • 读取数据

具体代码

 // GET 为获取操作  username 键值 

_ , err := conn.Do("SET", “username”);if err!=nil{
      fmt.Println(err)
}
  • 删除数据

具体代码

// DEL为获取操作  username 键值 
_ , err := conn.Do("DEL", “username”);if err!=nil{
      fmt.Println(err)
}
  • 判断key是否存在

具体代码

//EXISTS 为判断操作 username 键值 使用redis.Boll()将值转换为Bool

exists, err := redis.Bool(conn.Do("EXISTS", "username")); if err!=nil{
     fmt.Println(err)
}
  • 给定一个kv的过期时间

具体代码

//SET 操作  EX 表示设定了过期时间  5为5s

_, err = conn.Do("SET", "username", "userinfo", "EX", "5"); if err!=nil{
     fmt.Println(err)
}

hash操作

同样还是使用conn.Do( )

  • hash读取
    具体代码
//hset使用hash的添加   userinfo 数据库名  username 键值  SmartZou值 
//这里也可以不使用redis.String()

val , err = redis.String(conn.Do("hset", "userinfo", "username", "SmartZou"));if err != nil{
    fmt.Println(err)
}
  • hash获取
    具体代码
//hset使用hash的获取   userinfo 数据库名  username 键值

val , err = redis.String(conn.Do("hget", "userinfo", "username"));if err != nil{
    fmt.Println(err)
}

总结
明天看看redis读取的并发 Nerver Give up!!
2020.6.18 0:32

猜你喜欢

转载自blog.csdn.net/qq_29175897/article/details/106821837
今日推荐