forked from gitea/gitea
1
0
Fork 0
gitea/modules
zeripath 2f725cbc9e
Add LRU mem cache implementation (#16226)
The current default memory cache implementation is unbounded in size and number of
objects cached. This is hardly ideal.

This PR proposes creating a TwoQueue LRU cache as the underlying cache for Gitea.
The cache is limited by the number of objects stored in the cache (rather than size)
for simplicity. The default number of objects is 50000 - which is perhaps too small
as most of our objects cached are going to be much less than 1kB.

It may be worth considering using a different LRU implementation that actively limits
sizes or avoids GC - however, this is just a beginning implementation.

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-07-10 23:54:15 +02:00
..
analyze Speed up `enry.IsVendor` (#15213) 2021-04-01 19:41:09 +02:00
auth Add asymmetric JWT signing (#16010) 2021-06-17 23:56:46 +02:00
avatar Add Image Diff for SVG files (#14867) 2021-06-05 15:32:19 +03:00
base Fixed assert statements. (#16089) 2021-06-07 07:27:09 +02:00
cache Add LRU mem cache implementation (#16226) 2021-07-10 23:54:15 +02:00
charset Refactor renders (#15175) 2021-04-19 18:25:08 -04:00
context Redirect on bad CSRF instead of presenting bad page (#14937) 2021-07-08 15:57:24 +02:00
convert Introduce NotifySubjectType (#16320) 2021-07-01 12:51:24 +02:00
cron add cron job to delete old actions from database (#15688) 2021-05-01 14:17:02 +02:00
csv Refactor renders (#15175) 2021-04-19 18:25:08 -04:00
doctor Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
emoji Run processors on whole of text (#16155) 2021-06-17 11:35:05 +01:00
eventsource Hold the event source when there are no listeners (#15725) 2021-05-15 23:46:13 +02:00
generate Add asymmetric JWT signing (#16010) 2021-06-17 23:56:46 +02:00
git Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
gitgraph Fix bug on commit graph (#15517) 2021-04-17 10:27:25 +01:00
graceful Set self-adjusting deadline for connection writing (#16068) 2021-06-11 00:25:25 +03:00
hcaptcha hCaptcha Support (#12594) 2020-10-02 23:37:53 -04:00
highlight Replace ARCCache with TwoQueueCache to avoid patent issue (#16240) 2021-06-24 14:37:07 -04:00
httpcache Add ETag header (#15370) 2021-04-12 10:49:26 -04:00
httplib fix webhook timeout bug (#15613) 2021-04-25 21:48:12 +03:00
indexer Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
lfs Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
log Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
markup Update bluemonday to v1.0.15 (#16379) 2021-07-09 03:30:31 +02:00
matchlist Add Allow-/Block-List for Migrate & Mirrors (#13610) 2020-11-28 19:37:58 -05:00
metrics Prometheus endpoint (#5256) 2018-11-04 22:20:00 -05:00
migrations Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
nosql Fix setting redis db path (#15698) 2021-05-03 13:24:24 -04:00
notification Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
options Add StatDir and replace com.StatDir (#14099) 2020-12-22 07:40:57 +08:00
password Fixed assert statements. (#16089) 2021-06-07 07:27:09 +02:00
pprof Add golangci (#6418) 2019-06-12 15:41:28 -04:00
private Small refactoring of modules/private (#15947) 2021-06-23 15:38:19 -04:00
process Code Formats, Nits & Unused Func/Var deletions (#15286) 2021-04-09 09:40:34 +02:00
public Improve assets handler middleware (#15961) 2021-05-30 18:25:11 +08:00
queue Fixed assert statements. (#16089) 2021-06-07 07:27:09 +02:00
recaptcha Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
references Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
repofiles Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
repository Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
secret Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
session Migrate to use jsoniter instead of encoding/json (#14841) 2021-03-01 22:08:10 +01:00
setting Add LRU mem cache implementation (#16226) 2021-07-10 23:54:15 +02:00
ssh Prevent zombie processes (#16314) 2021-06-30 22:07:23 +02:00
storage Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
structs Creating a repo from a template repo via API (#15958) 2021-07-05 17:29:08 +02:00
svg Fix filepath basename on Windows for SVG bindata (#12241) 2020-07-13 21:16:40 +01:00
sync Fix missing unlock in uniquequeue (#9790) 2020-01-15 23:58:33 +02:00
task Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
templates Add custom emoji support (#16004) 2021-06-29 16:28:38 +02:00
test Move middlewares to web/middleware (#14480) 2021-01-30 10:55:53 +02:00
timeutil Fix display since time round (#14226) 2021-01-28 13:29:22 +01:00
translation Use index of the supported tags to choose user lang (#15452) 2021-04-14 19:52:01 +01:00
typesniffer Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
upload Update golangci-lint to version 1.31.0 (#13102) 2020-10-11 21:27:20 +01:00
uri Dump github/gitlab/gitea repository data to a local directory and restore to gitea (#12244) 2020-12-27 11:34:19 +08:00
user Add gitea-vet (#10948) 2020-04-05 07:20:50 +01:00
util Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
validation Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
web Add tag protection (#15629) 2021-06-25 16:28:55 +02:00