【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)

redis.Nil

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

pipeline优化 一次执行多个命令

你可能感兴趣的:(Go,redis,golang,数据库)