亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:在 Redigo 的 RedisPool 上選擇數據庫

Golang:在 Redigo 的 RedisPool 上選擇數據庫

Go
LEATH 2021-08-16 15:59:39
使用 redigo,我創建了一個池,如下所示:&redis.Pool{    MaxIdle:   80,    MaxActive: 12000, // max number of connections    Dial: func() (redis.Conn, error) {        c, err := redis.Dial("tcp", host+":"+port)        if err != nil {            panic(err.Error())        }        return c, err    }我遇到的問題是,每次獲得新連接時,我都需要設置數據庫,因為我使用不同的 redis 數據庫,因為我在 VPS 上托管了許多站點。所以,像這樣:conn := pool.Get()defer conn.Close()conn.Do("SELECT", dbNumber)  //this is the call I want to avoid每次使用 redis 時都必須選擇數據庫似乎是多余的,并且也帶來了一個問題,因為我將它用于會話,即具有不是我的代碼與我的池中的 redis 連接一起工作使得它“不可能”設置正確的數據庫它。我想要做的是為池設置 dbno,以便每當有人從池中請求新連接時,它都會附帶已設置的正確 db,即每次都不明確設置它。你是如何在你的應用程序中解決這個問題的?
查看完整描述

3 回答

?
米脂

TA貢獻1836條經驗 獲得超3個贊

您可以使用redis.DialOption:redis.DialDatabase,redis.DialPassword


conn, err := redis.Dial("tcp", "127.0.0.1:6379", redis.DialDatabase(1))

if err != nil {

    panic(err)

}

defer conn.Close()


查看完整回答
反對 回復 2021-08-16
  • 3 回答
  • 0 關注
  • 423 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號