go get github.com/gomodule/redigo/redis
package main

import (
	"fmt"
	"github.com/gomodule/redigo/redis" // 引入redis包
)

func main() {
	//连接数据源
	rediss, err := redis.Dial("tcp", "127.0.01:6379")

	if err != nil {
		fmt.Println("连接异常", err)
	}

	//插入string数据
	test, err := rediss.Do("set", "test", "hi")
	if err != nil {
		fmt.Println("插入数据失败", err)
	}
	fmt.Println(test)

	//读取string数据
	str, err := redis.String(rediss.Do("get", "test"))
	fmt.Println(str)

	//hash 类型
	do, _ := rediss.Do("hset", "hh", "name", "zhangsn")
	fmt.Println(do)
	hh, _ := redis.String(rediss.Do("hget", "hh", "name"))
	fmt.Println(hh)

	//设置key 过期时间
	rediss.Do("expire", "hh", 1)

	//关闭redis
	rediss.Close()
}

redis 数据源连接池

package main

import (
	"fmt"
	"github.com/gomodule/redigo/redis" // 引入redis包
)

var pool *redis.Pool

func init() {
	pool = &redis.Pool{
		MaxIdle:     8,   //最大空闲连接数
		MaxActive:   0,   //表示和数据库最大连接数。0表示没有限制
		IdleTimeout: 100, //最大空闲时间
		Dial: func() (redis.Conn, error) { //初始化连接 redis 地址
			return redis.Dial("tcp", "127.0.01:6379")
		},
	}
}
func main() {

	//获取连接
	conn := pool.Get()
	//插入数据
	do, err := conn.Do("set", "11", "11")
	if err != nil {
		fmt.Println("插入失败", err)
	}

	fmt.Println(do)

	//关闭redis
	conn.Close()

}