diff options
Diffstat (limited to 'modules/cache/cache.go')
-rw-r--r-- | modules/cache/cache.go | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/modules/cache/cache.go b/modules/cache/cache.go index 20d23f3b5b..e3a905e3fa 100644 --- a/modules/cache/cache.go +++ b/modules/cache/cache.go @@ -16,20 +16,28 @@ import ( _ "gitea.com/macaron/cache/redis" ) -var conn mc.Cache +var ( + conn mc.Cache +) + +func newCache(cacheConfig setting.Cache) (mc.Cache, error) { + return mc.NewCacher(cacheConfig.Adapter, mc.Options{ + Adapter: cacheConfig.Adapter, + AdapterConfig: cacheConfig.Conn, + Interval: cacheConfig.Interval, + }) +} // NewContext start cache service func NewContext() error { - if setting.CacheService == nil || conn != nil { - return nil + var err error + + if conn == nil && setting.CacheService.Enabled { + if conn, err = newCache(setting.CacheService.Cache); err != nil { + return err + } } - var err error - conn, err = mc.NewCacher(setting.CacheService.Adapter, mc.Options{ - Adapter: setting.CacheService.Adapter, - AdapterConfig: setting.CacheService.Conn, - Interval: setting.CacheService.Interval, - }) return err } |