go sql

連接池

SetMaxOpenConns

SetMaxOpenConns設(shè)置數(shù)據(jù)庫的最大打開連接數(shù)。

如果MaxIdleConns大于0且新的MaxOpenConns小于MaxIdleConns,則MaxIdleConns將減小以匹配新的MaxOpenConns限制。

如果n <= 0,則打開連接數(shù)沒有限制。默認(rèn)值為0(無限制)。

如果最大連接數(shù)超過數(shù)據(jù)庫設(shè)置,會出現(xiàn)錯誤
too many connections

存疑????
建議設(shè)置為連接數(shù) = ((核心數(shù) * 2) + 有效磁盤數(shù)) 
mysql 查詢 max_connections
SHOW VARIABLES LIKE "max_connections";
SetConnMaxLifetime

SetConnMaxLifetime設(shè)置可以重用連接的最大時間。
過期連接可能會在重用之前懶惰關(guān)閉。

如果d <= 0,則連接將永久重用。

SetMaxIdleConns

SetMaxIdleConns設(shè)置空閑連接池中的最大連接數(shù)。
如果MaxOpenConns大于0但小于新的MaxIdleConns,則新的MaxIdleConns將減小以匹配MaxOpenConns限制。
如果n <= 0,則不保留空閑連接。
默認(rèn)的最大空閑連接當(dāng)前為2.這可能會在將來的版本中發(fā)生變化。

查缺補漏

  1. 防止注入
  • 數(shù)據(jù)庫提供prepareStatement方法進(jìn)行參數(shù)預(yù)編譯,根本上防止sql拼接注入
  • 許多orm也提供了字符過濾功能,對引號進(jìn)行轉(zhuǎn)義
  • xorm 的 EngineGroup 支持讀寫分離 ,無需 mysql route、mycat、atlas
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容