*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等函数的返回值