refactor: move go-chi/cache into Gitea (#39530)

The `gitea.com/go-chi/cache` package only exists for Gitea, so it moves
into `modules/cache`.

- `ITEM_TTL = -1` disables caching as documented
- Sub-second TTLs round up instead of never expiring
- The Redis adapter no longer grows a `MacaronCache` hash
- Use two-queue cache for in-memory cache

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
silverwindandwxiaoguang authored and GitHub committed 2026-10-02 18:16:34 +02:00
1 parent 873efed5a6
commit bea6fcaa84
14 files changed
+342 -381

No files matched your search

+11
View File
@@ -69,3 +69,14 @@ ADAPTER = memcache
})
}
}
func TestCacheItemTTLSeconds(t *testing.T) {
defer test.MockVariableValue(&CacheService)()
for ttl, want := range map[string]int64{"-1": -1, "500ms": 1} {
cfg, err := NewConfigProviderFromData("[cache]\nITEM_TTL = " + ttl + "\n[cache.last_commit]\nITEM_TTL = " + ttl)
assert.NoError(t, err)
loadCacheFrom(cfg)
assert.Equal(t, want, CacheService.TTLSeconds())
assert.Equal(t, want, LastCommitCacheTTLSeconds())
}
}