summaryrefslogtreecommitdiffstats
path: root/modules/cache/cache.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2020-02-02 03:11:32 +0800
committerGitHub <noreply@github.com>2020-02-01 19:11:32 +0000
commitce7062a422777c00aadf43ad67a90cc8aae689a5 (patch)
tree1648064ddb7f8d9e5c6b889bed9147db295cb658 /modules/cache/cache.go
parent046bb05979b2476d4eef85f2d156ac42310f1a3f (diff)
downloadgitea-ce7062a422777c00aadf43ad67a90cc8aae689a5.tar.gz
gitea-ce7062a422777c00aadf43ad67a90cc8aae689a5.zip
Cache last commit to accelerate the repository directory page visit (#10069)
* Cache last commit to accelerate the repository directory page visit * Default use default cache configuration * add tests for last commit cache * Simplify last commit cache * Revert Enabled back * Change the last commit cache default ttl to 8760h * Fix test
Diffstat (limited to 'modules/cache/cache.go')
-rw-r--r--modules/cache/cache.go26
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
}