支持lru缓存

This commit is contained in:
xiezhaodong 2025-04-14 16:09:50 +08:00
parent 057f5fdcd6
commit 565375dfb7

View File

@ -24,10 +24,7 @@ type PreparedStmtDB struct {
ConnPool ConnPool
} }
func NewPreparedStmtDB(connPool ConnPool, prepareStmtLruConfig *PrepareStmtLruConfig) *PreparedStmtDB { func newPrepareStmtCache(prepareStmtLruConfig *PrepareStmtLruConfig) *StmtStore {
return &PreparedStmtDB{
ConnPool: connPool,
Stmts: func() StmtStore {
var stmts StmtStore var stmts StmtStore
if prepareStmtLruConfig != nil && prepareStmtLruConfig.Open { if prepareStmtLruConfig != nil && prepareStmtLruConfig.Open {
if prepareStmtLruConfig.Size <= 0 { if prepareStmtLruConfig.Size <= 0 {
@ -40,8 +37,12 @@ func NewPreparedStmtDB(connPool ConnPool, prepareStmtLruConfig *PrepareStmtLruCo
defaultStmtStore := &DefaultStmtStore{} defaultStmtStore := &DefaultStmtStore{}
stmts = defaultStmtStore.init() stmts = defaultStmtStore.init()
} }
return stmts return &stmts
}(), }
func NewPreparedStmtDB(connPool ConnPool, prepareStmtLruConfig *PrepareStmtLruConfig) *PreparedStmtDB {
return &PreparedStmtDB{
ConnPool: connPool,
Stmts: *newPrepareStmtCache(prepareStmtLruConfig),
Mux: &sync.RWMutex{}, Mux: &sync.RWMutex{},
} }
} }