​官方文档​​​​学习博客​​ 连接redis

rdb := redis.NewClient(&redis.Options{
Addr: "ip:6379",
Password: "", // 密码
DB: 0, // 数据库
PoolSize: 20, // 连接池大小
})
defer rdb.Close()
pong, err := rdb.Ping().Result()
fmt.Println(pong, err)

执行命令
如果go-redis里有的话

//执行命令获取结果
val, err := rdb.Get("name").Result()
fmt.Println(val, err)

//先获取命令对象
strCmd := rdb.Get("name")
fmt.Println(strCmd.Val(), strCmd.Err())

如果go-redis里没有,借助Do方法

cmd := rdb.Do("bf.exists", "user", "yiui")//布隆过滤器
if err := cmd.Err(); err != nil {
fmt.Println(err)
return
}
fmt.Println("11")
isExists, err := cmd.Bool()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(isExists)

redis.Nil

strcmd := rdb.Get("key")
if err := strcmd.Err(); err != nil {
if err == redis.Nil {
fmt.Println("key is not exists")
}
}

pipeline优化 一次执行多个命令