連接池
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ā)生變化。
查缺補漏
- 防止注入
- 數(shù)據(jù)庫提供prepareStatement方法進(jìn)行參數(shù)預(yù)編譯,根本上防止sql拼接注入
- 許多orm也提供了字符過濾功能,對引號進(jìn)行轉(zhuǎn)義
- xorm 的 EngineGroup 支持讀寫分離 ,無需 mysql route、mycat、atlas