|
|
|
@ -8,6 +8,7 @@ import ( |
|
|
|
|
"fmt" |
|
|
|
|
"strconv" |
|
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/log" |
|
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
|
|
|
|
|
|
mc "gitea.com/go-chi/cache" |
|
|
|
@ -35,6 +36,20 @@ func NewContext() error { |
|
|
|
|
if conn, err = newCache(setting.CacheService.Cache); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
const testKey = "__gitea_cache_test" |
|
|
|
|
const testVal = "test-value" |
|
|
|
|
if err = conn.Put(testKey, testVal, 10); err != nil { |
|
|
|
|
return err |
|
|
|
|
} |
|
|
|
|
val := conn.Get(testKey) |
|
|
|
|
if valStr, ok := val.(string); !ok || valStr != testVal { |
|
|
|
|
// If the cache is full, the Get may not read the expected value stored by Put.
|
|
|
|
|
// Since we have checked that Put can success, so we just show a warning here, do not return an error to panic.
|
|
|
|
|
log.Warn("cache (adapter:%s, config:%s) doesn't seem to work correctly, set test value '%v' but get '%v'", |
|
|
|
|
setting.CacheService.Cache.Adapter, setting.CacheService.Cache.Conn, |
|
|
|
|
testVal, val, |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return err |
|
|
|
|