连接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优化 一次执行多个命令