refactor cacheInsert

This commit is contained in:
Lunny Xiao 2018-04-11 20:56:21 +08:00
parent 8636506a9d
commit 5d0479bbc3
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
2 changed files with 14 additions and 19 deletions

View File

@ -1031,7 +1031,7 @@ func (engine *Engine) mapType(v reflect.Value) (*core.Table, error) {
} }
} }
if hasNoCacheTag { if hasNoCacheTag {
engine.logger.Info("no cache on table:", table.Name) engine.logger.Info("disable cache on table:", table.Name)
engine.setCacher(table.Name, nil) engine.setCacher(table.Name, nil)
} }

View File

@ -232,9 +232,7 @@ func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error
return 0, err return 0, err
} }
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache { session.cacheInsert(tableName)
session.cacheInsert(tableName)
}
lenAfterClosures := len(session.afterClosures) lenAfterClosures := len(session.afterClosures)
for i := 0; i < size; i++ { for i := 0; i < size; i++ {
@ -394,9 +392,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
defer handleAfterInsertProcessorFunc(bean) defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache { session.cacheInsert(tableName)
session.cacheInsert(tableName)
}
if table.Version != "" && session.statement.checkVersion { if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean) verValue, err := table.VersionColumn().ValueOf(bean)
@ -439,9 +435,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
} }
defer handleAfterInsertProcessorFunc(bean) defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache { session.cacheInsert(tableName)
session.cacheInsert(tableName)
}
if table.Version != "" && session.statement.checkVersion { if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean) verValue, err := table.VersionColumn().ValueOf(bean)
@ -482,9 +476,7 @@ func (session *Session) innerInsert(bean interface{}) (int64, error) {
defer handleAfterInsertProcessorFunc(bean) defer handleAfterInsertProcessorFunc(bean)
if cacher := session.engine.getCacher(tableName); cacher != nil && session.statement.UseCache { session.cacheInsert(tableName)
session.cacheInsert(tableName)
}
if table.Version != "" && session.statement.checkVersion { if table.Version != "" && session.statement.checkVersion {
verValue, err := table.VersionColumn().ValueOf(bean) verValue, err := table.VersionColumn().ValueOf(bean)
@ -531,13 +523,16 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) {
return session.innerInsert(bean) return session.innerInsert(bean)
} }
func (session *Session) cacheInsert(tables ...string) error { func (session *Session) cacheInsert(table string) error {
for _, t := range tables { if !session.statement.UseCache {
cacher := session.engine.getCacher(t) return nil
session.engine.logger.Debug("[cache] clear sql:", t)
cacher.ClearIds(t)
} }
cacher := session.engine.getCacher(table)
if cacher == nil {
return nil
}
session.engine.logger.Debug("[cache] clear sql:", table)
cacher.ClearIds(table)
return nil return nil
} }