// 在这个例子中,我们创建了一个 sync.Pool,其中包含一个 New 函数,该函数创建一个 MySQL 连接 // 在 someFunction 中,我们使用 dbPool.Get() 从池中获取一个 MySQL 连接 // 然后我们使用连接进行一些操作,最后使用 dbPool.Put() 将连接放回池中 // 我们可以通过设置 dbPool 的大小来初始化连接池中的连接数量 // 例如,如果我们想要初始化 10 个连接,我们可以将 dbPool 的大小设置为 10 var dbPool = sync.Pool{ New: func() interface{} { db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database") if err != nil { log.Fatal(err) } return db }, } func init() { // 初始化连接池中的连接数量为 10 for i := 0; i < 10; i++ { dbPool.Put(dbPool.New()) } } func someFunction() { // 从池中获取一个 MySQL 连接 db := dbPool.Get().(*sql.DB) // 使用连接进行一些操作 // ... // 将连接放回池中 dbPool.Put(db) } // 在这个例子中,我们创建了一个 sync.Pool,其中包含一个 New 函数,该函数创建一个 MySQL 连接 // 我们使用 init 函数来初始化连接池中的连接数量为 10 // 在 someFunction 中,我们使用 dbPool.Get() 从池中获取一个 MySQL 连接 // 然后我们使用连接进行一些操作,最后使用 dbPool.Put() 将连接放回池中
go 的 Pool池对象 sync.Pool 创建mysql连接池
Golang
2023-04-13
admin
307
414
如果文章对您有帮助,点击下方的广告,支持一下作者吧!
转载必须注明出处: