天天看点

【Go开发】go-redis快速入门

​​官方文档​​​​学习博客​​ 连接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)      
strcmd := rdb.Get("key")
    if err := strcmd.Err(); err != nil {
        if err == redis.Nil {
            fmt.Println("key is not exists")
        }
    }