go-redis v8
type Options struct {
// 網(wǎng)絡(luò)類型:[ tcp , unix ]
// 默認是 tcp
Network string
// host:port 地址
Addr string
// 要使用的 TLS 配置盖文。 當(dāng)設(shè)置 TLS 時將協(xié)商培漏。
TLSConfig *tls.Config
// 當(dāng)連接到使用 Redis ACL 系統(tǒng)的 Redis 6.0 或更高版本的實例時蒜茴,
// 使用指定的 用戶名 對當(dāng)前連接進行身份驗證 (ACL 列表中定義的連接之一)浇冰。
Username string
// 可選密碼洋魂。
// 必須與 requirepass 服務(wù)器配置選項中指定的密碼(如果連接到 Redis 5.0 或更低版本的實例)
// 或 連接到使用 Redis ACL 系統(tǒng)的 Redis 6.0 或更高版本的實例時的用戶密碼 匹配。
Password string
// 連接到服務(wù)器后要選擇的數(shù)據(jù)庫副砍。
DB int
// ====== 重試衔肢、退避時間======
// 放棄前的最大重試次數(shù)豁翎。
// 默認是 3 次重試; -1(非 0)禁用重試心剥。
MaxRetries int
// 每次重試之間的最小退避启搂。
// 默認為 8 毫秒; -1 禁用退避胳赌。
MinRetryBackoff time.Duration
// 每次重試之間的最大退避。
// 默認為 512 毫秒疑苫; -1 禁用退避。
MaxRetryBackoff time.Duration
// ======連接超時纷责、讀超時、寫超時======
// 建立新連接的撥號超時再膳。
// 默認為 5 秒。
DialTimeout time.Duration
// 套接字讀取超時喂柒。
// 如果達到不瓶,命令將失敗并超時而不是阻塞灾杰。
// 使用值 -1 表示無超時,使用 0 表示默認值艳吠。
// 默認為 3 秒麦备。
ReadTimeout time.Duration
// 套接字寫入超時昭娩。
// 如果達到凛篙,命令將失敗并超時而不是阻塞。
// 默認為 ReadTimeout栏渺。
WriteTimeout time.Duration
// 連接池的類型呛梆。
// FIFO 池為 true,LIFO 池為 false迈嘹。
// 請注意削彬,與 lifo 相比,fifo 的開銷更高秀仲。
PoolFIFO bool
// 最大套接字連接數(shù)融痛。
// 默認為每個可用 CPU 10 個連接,由 runtime.GOMAXPROCS 報告神僵。
PoolSize int
// 建立新連接緩慢時有用的最小空閑連接數(shù)雁刷。
MinIdleConns int
// 客戶端退出(關(guān)閉)連接的連接年齡。
// 默認是不關(guān)閉老化的連接保礼。
MaxConnAge time.Duration
// 如果所有連接都忙沛励,則客戶端在返回錯誤之前等待連接的時間责语。
// 默認為 ReadTimeout + 1 秒。
PoolTimeout time.Duration
// 客戶端關(guān)閉空閑連接的時間目派。
// 應(yīng)該小于服務(wù)器的超時時間坤候。
// 默認為 5 分鐘。 -1 禁用空閑超時檢查企蹭。
IdleTimeout time.Duration
// 空閑連接 reaper 進行空閑檢查的頻率白筹。
// 默認為 1 分鐘。 -1 禁用空閑連接reaper谅摄,
// 但如果設(shè)置了 IdleTimeout徒河,空閑連接仍會被客戶端丟棄。
IdleCheckFrequency time.Duration
// 在從節(jié)點上啟用只讀查詢送漠。
readOnly bool
// 用于實現(xiàn)斷路器或速率限制器的限制器接口顽照。
Limiter Limiter
}