*Redis快速入门见《Redis入门记》
安装:go get github.com/go-redis/redis/v8
引入:import "github.com/go-redis/redis/v8"
redis.Options是redis包定义的结构体,用于设置redis连接,下面简称opt


redis.Client是redis包定义的结构体,代表一个Redis客户端,底层是零至多个连接组成的redis连接池,可以安全的在并发使用,下面简称db

context.Context是context包定义的接口,代表一个上下文,包括有效期限、取消标识和其他跨 API 进程的值,上下文接口定义的方法可以安全的在并发使用,下面简称ctx
*上下文的作用是允许任务中断:任务中断之后,处理器保存上下文,以便之后根据上下文在任务的同一位置继续执行

redis.Cmd是redis包定义的结构体,代表一个命令,下面简称cmd

redis.Nil是redis包定义的一个错误常量,代表redis中的nil
适用于用于返回单个结果的情况

适用于返回多个结果的情况

Redis驱动为常见命令提供了函数,函数名于Redis命令名相同,可以方便的直接使用,如db.Set/db.HSet…
redis.StringCmd是redis包定义的结构体,代表处理单个返回值的命令,为db.Get/db.HGet等函数的返回值,可以将结果处理为string/[]byte/bool/time.Time等
redis.SliceCmd是redis包定义的结构体,代表处理多个返回值的命令,为db.MGet/db.HMGet等函数的返回值,结果为空接口切片,需要进一步处理
Redis管道允许批量执行命令;目的是提高性能
redis.Cmder是redis包定义的接口,代表多种命令,可以类型断言回命令本身应该是的Cmd,[]redis.Cmder是pipe.Exec/db.Pipelined等函数的返回值
redis.Pipeliner是redis包定义的接口,用于实现管道


!!!注意Pipeline不是事务!!!
redis.TxFailedErr是redis包定义的错误,用于表示事务失败

redis.ScanCmd是redis包定义的结构体,代表处理一个Scan的命令,为db.Scan/SScan/HScan/ZScan等函数的返回值,可以将结果处理为redis.ScanIterator等,下面简称scanCmd
redis.ScanIterator是redis包定义的结构体,代表用于遍历一组元素的迭代器,可以安全的在并发使用下面简称iter


redis.StringStringMapCmd是redis包定义的结构体,可以将结果处理为map[string]string,为db.HGetAll等函数的返回值

