Built-in LRU memory cache provider
Built-in LRU memory cache provider
- Global Cache
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)
- Table’s Cache If only some tables need cache, then:
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: