Skip to content

Commit 8d09a90

Browse files
committed
Add ledis cache support
1 parent fae07cb commit 8d09a90

File tree

124 files changed

+16956
-18
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

124 files changed

+16956
-18
lines changed

custom/conf/app.example.ini

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1471,16 +1471,19 @@ PATH =
14711471
;; if the cache enabled
14721472
;ENABLED = true
14731473
;;
1474-
;; Either "memory", "redis", or "memcache", default is "memory"
1474+
;; Either "memory", "ledis", "redis", or "memcache", default is "memory"
14751475
;ADAPTER = memory
14761476
;;
14771477
;; For "memory" only, GC interval in seconds, default is 60
14781478
;INTERVAL = 60
14791479
;;
1480-
;; For "redis" and "memcache", connection host address
1480+
;; The same as ADAPTER_CONFIG but Deprecated
1481+
;HOST =
1482+
;; For "ledis", "redis" and "memcache", connection host address
1483+
;; ledis: data_dir=./data/caches,db=0
14811484
;; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
14821485
;; memcache: `127.0.0.1:11211`
1483-
;HOST =
1486+
;ADAPTER_CONFIG =
14841487
;;
14851488
;; Time to keep items in cache if not used, default is 16 hours.
14861489
;; Setting it to 0 disables caching

docs/content/doc/advanced/config-cheat-sheet.en-us.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,9 +590,11 @@ Define allowed algorithms and their minimum key length (use -1 to disable a type
590590
## Cache (`cache`)
591591

592592
- `ENABLED`: **true**: Enable the cache.
593-
- `ADAPTER`: **memory**: Cache engine adapter, either `memory`, `redis`, or `memcache`.
593+
- `ADAPTER`: **memory**: Cache engine adapter, either `memory`, `ledis`, `redis`, or `memcache`.
594594
- `INTERVAL`: **60**: Garbage Collection interval (sec), for memory cache only.
595-
- `HOST`: **\<empty\>**: Connection string for `redis` and `memcache`.
595+
- `HOST`: DEPRECATED. The same as `ADAPTER_CONFIG`.
596+
- `ADAPTER_CONFIG`: **\<empty\>**: Connection string for `ledis`, `redis` and `memcache`.
597+
- ledis: `data_dir=./data/caches,db=0`. It's a local disk cache.
596598
- Redis: `redis://:[email protected]:6379/0?pool_size=100&idle_timeout=180s`
597599
- Memcache: `127.0.0.1:9090;127.0.0.1:9091`
598600
- `ITEM_TTL`: **16h**: Time to keep items in cache if not used, Setting it to 0 disables caching.

go.sum

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng
229229
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
230230
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
231231
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
232+
github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76 h1:Lgdd/Qp96Qj8jqLpq2cI1I1X7BJnu06efS+XkhRoLUQ=
232233
github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY=
233234
github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 h1:y5HC9v93H5EPKqaS1UYVg1uYah5Xf51mBfIoWehClUQ=
234235
github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964/go.mod h1:Xd9hchkHSWYkEqJwUGisez3G1QY8Ryz0sdWrLPMGjLk=
@@ -263,6 +264,7 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
263264
github.com/dvyukov/go-fuzz v0.0.0-20210429054444-fca39067bc72/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
264265
github.com/editorconfig/editorconfig-core-go/v2 v2.4.2 h1:1lkDpSoAaFLrgYTVJ/eNCV+lkDSv/j9Wm0jcvDfVVEo=
265266
github.com/editorconfig/editorconfig-core-go/v2 v2.4.2/go.mod h1:IXeWRVO4LZRoNunhHh/oP6BQvTs94nB2pNvbw32l8tQ=
267+
github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw=
266268
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
267269
github.com/elazarl/go-bindata-assetfs v1.0.1/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4=
268270
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
@@ -954,9 +956,12 @@ github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJ
954956
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
955957
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU=
956958
github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
959+
github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726 h1:xT+JlYxNGqyT+XcU8iUrN18JYed2TvG9yN5ULG2jATM=
957960
github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw=
958961
github.com/siddontang/go-snappy v0.0.0-20140704025258-d8f7bb82a96d/go.mod h1:vq0tzqLRu6TS7Id0wMo2N5QzJoKedVeovOpHjnykSzY=
962+
github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92 h1:qvsJwGToa8rxb42cDRhkbKeX2H5N8BH+s2aUikGt8mI=
959963
github.com/siddontang/ledisdb v0.0.0-20190202134119-8ceb77e66a92/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg=
964+
github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d h1:NVwnfyR3rENtlz62bcrkXME3INVUa4lcdGt+opvxExs=
960965
github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA=
961966
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
962967
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=

modules/cache/cache.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,20 @@ import (
1010

1111
"code.gitea.io/gitea/modules/setting"
1212

13-
mc "gitea.com/go-chi/cache"
13+
"gitea.com/go-chi/cache"
1414

15+
_ "gitea.com/go-chi/cache/ledis" // ledis plugin for cache
1516
_ "gitea.com/go-chi/cache/memcache" // memcache plugin for cache
1617
)
1718

1819
var (
19-
conn mc.Cache
20+
conn cache.Cache
2021
)
2122

22-
func newCache(cacheConfig setting.Cache) (mc.Cache, error) {
23-
return mc.NewCacher(mc.Options{
23+
func newCache(cacheConfig setting.Cache) (cache.Cache, error) {
24+
return cache.NewCacher(cache.Options{
2425
Adapter: cacheConfig.Adapter,
25-
AdapterConfig: cacheConfig.Conn,
26+
AdapterConfig: cacheConfig.AdapterConfig,
2627
Interval: cacheConfig.Interval,
2728
})
2829
}
@@ -41,7 +42,7 @@ func NewContext() error {
4142
}
4243

4344
// GetCache returns the currently configured cache
44-
func GetCache() mc.Cache {
45+
func GetCache() cache.Cache {
4546
return conn
4647
}
4748

modules/setting/cache.go

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ import (
1313

1414
// Cache represents cache settings
1515
type Cache struct {
16-
Enabled bool
17-
Adapter string
18-
Interval int
19-
Conn string
20-
TTL time.Duration `ini:"ITEM_TTL"`
16+
Enabled bool
17+
Adapter string
18+
AdapterConfig string
19+
Interval int
20+
Conn string
21+
TTL time.Duration `ini:"ITEM_TTL"`
2122
}
2223

2324
var (
@@ -58,11 +59,16 @@ func newCacheService() {
5859
log.Fatal("Failed to map Cache settings: %v", err)
5960
}
6061

61-
CacheService.Adapter = sec.Key("ADAPTER").In("memory", []string{"memory", "redis", "memcache"})
62+
CacheService.Adapter = sec.Key("ADAPTER").In("memory", []string{"memory", "ledis", "redis", "memcache"})
63+
CacheService.AdapterConfig = sec.Key("ADAPTER_CONFIG").String()
6264
switch CacheService.Adapter {
6365
case "memory":
66+
case "ledis":
6467
case "redis", "memcache":
65-
CacheService.Conn = strings.Trim(sec.Key("HOST").String(), "\" ")
68+
if CacheService.AdapterConfig == "" {
69+
CacheService.AdapterConfig = sec.Key("HOST").String()
70+
}
71+
CacheService.AdapterConfig = strings.Trim(CacheService.AdapterConfig, "\" ")
6672
case "": // disable cache
6773
CacheService.Enabled = false
6874
default:

vendor/gitea.com/go-chi/cache/ledis/ledis.go

Lines changed: 185 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/gitea.com/go-chi/cache/ledis/ledis.goconvey

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cupcake/rdb/.gitignore

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cupcake/rdb/.travis.yml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cupcake/rdb/LICENCE

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/cupcake/rdb/README.md

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)