cache
Mango Cache 🥠- Partial implementation of Guava Cache in Go (golang). (by goburrow)
varnish-modules
Collection of Varnish Cache modules (vmods) by Varnish Software (by varnish)
cache | varnish-modules | |
---|---|---|
2 | 2 | |
568 | 179 | |
1.8% | 0.0% | |
0.0 | 5.3 | |
over 1 year ago | about 2 months ago | |
Go | C | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cache
Posts with mentions or reviews of cache.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-16.
-
go-generics-cache: An in-memory key:value store/cache library for Go Generics
For anything cache related, I usually refer to Caffeine from java https://github.com/ben-manes/caffeine and its closest relative in go: https://github.com/goburrow/cache
-
How to create a full page cache within a CMS?
Well if your app is simple maybe you could use https://github.com/goburrow/cache
varnish-modules
Posts with mentions or reviews of varnish-modules.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-25.
-
Varnish 7.0.0 release
And varnish-modules also saw the usual companion release to follow Varnish Cache.
-
How to create a full page cache within a CMS?
Having said that, varnish is an excellent tool for these situations and it also works well if you decide to use a CDN later on. We use the combination of varnish (caching for dynamic content) and Cloudflare (caching for static assets) in a couple of production environments and using the relatively recent CDN-Cache-Control headers it's finally pretty easy to separate cache control headers of various different links in your proxy chain. Be aware that cache tagging requires an additional module (xkey vmod) which isn't always shipped with varnish packages. To help with cache invalidations you can also use tools like Varnish Broadcaster (commercial) or (shameless plug) varnish-towncrier which decouples cache invalidation calls from varnish and doesn't require your application to directly talk to each varnish instance.
What are some alternatives?
When comparing cache and varnish-modules you can also consider the following projects:
kube-httpcache - Varnish Reverse Proxy on Kubernetes
go-generics-cache - A key:value store/cache library written in Go generics. LRU, LFU, FIFO, MRU, Clock support.
varnish-towncrier - Distribute cache invalidation requests to a fleet of varnish instances.
algo2 - Some algorithms written using Go generics.
Olric - Distributed in-memory object store. It can be used as an embedded Go library and a language-independent service.
go-hashlru - A simple thread-safe and fixed size LRU. Based on the Hashlru Algorithm :arrows_clockwise:
go-cache-benchmark - Cache benchmark for Golang
slice - Go 1.18 Generics based slice package