# 介绍

go-redis底层维护了一个连接池,不需要手动管理。

连接池配置信息包含在 配置项 中, 这里介绍一下连接池的配置:

连接池的结构:

# 连接池工作示例图

# 超时

context.Done()Options.PoolTimeoutcontextContextTimeoutEnabled
Options.PoolTimeoutErrPoolTimeout
ContextTimeoutEnabledcontext.Contextnet.ConnDeadlinectxDialTimeoutReadTimeoutWriteTimeout
context.Contextcontext.Context
TIME_WAIT
context

# 管道

go-redis大部分时间都在等待网络写入/读取的操作,因此你可以使用 pipelines 一次发送/读取多个命令来提高性能。

# 缓存

你也可以考虑使用本地缓存来提高性能,例如 cache, 你可以把热key放入cache结果内。