Xorm implements cache support. Defaultly, it’s disabled. If enable it, use below code.
cacher := caches.NewLRUCacher(caches.NewMemoryStore(), 1000)
engine.SetDefaultCacher(cacher)
If disable some tables’ cache, then:
engine.MapCacher(&user, nil)
cacher := caches.NewLRUCacher(caches.NewMemoryStore(), 1000)
engine.MapCacher(&user, cacher)
Caution:
When use Cols methods on cache enabled, the system still return all the columns.
When using Exec method, you should clear cacheļ¼
engine.Exec("update user set name = ? where id = ?", "xlw", 1)
engine.ClearCache(new(User))
Cache implement theory below: