Comments (1)
TL;DR: Instead of Freecache, you may want to consider looking into Ristretto which appears to be a better alternative; or at a higher level (and potential Redis replacement / alternative), Olric.
You might prefer to use Ristretto instead (released back in 2019), from the devs behind Badger(K/V DB). They have a pretty decent article on caching in Go that introduces Ristretto and compares it to existing cache solutions including Freecache.
They also wrote a previous article on caching with Go that compared Freecache to a few others and identified the state of Go caching, expressing various concerns they had when choosing a cache solution (they ended up creating Ristretto instead of course).
I am not a Go dev, but was looking into all of this when evaluating to use another Go project designed for HTTP caching called Souin
. They at an earlier point used Ristretto (and perhaps still do, I haven't looked into Souin source much), but made some change to switch to Badger at a later date.
Badger IIRC will keep keys in memory and values on disk. In more recent versions it changed to also keep values under 1MB per key in memory as well (I can't recall if these also persist to disk, I think they do as that was important for me with the HTTP cache decision).
Souin also offers an alternative KV store that also can act as an in-memory cache (it's memory only and can work in a distributed fashion IIRC) called olric
. That's also a Go project that can run embedded within Chihaya. I'm not sure if that would be more desirable for you over what a lower level package like Ristretto would offer, but perhaps it would be more suitable for Chihaya (could replace Redis for HA?).
You can find the author of Olric compare his project to Ristretto here:
Olric
is a distributed, embeddable data structure server. It currently implements distributed map and distributed topic data structures. Because of its consistency model,Olric
is useful as a distributed cache library for your Go applications. It also supports a few eviction policies including LRU.I have a little info about
Ristretto
library of DGraph. It is not distributed. SoOlric
is completely different and it can be comparable withgroupcache
.
from chihaya.
Related Issues (20)
- Explore serving UDP without standard lib HOT 3
- Bencoded dictionaries' keys are not always sorted HOT 5
- Chihaya has reached a GoLang Limitation: concurrent operations on a single file or socket HOT 8
- Load config from dotfiles & create default config HOT 4
- Migrate chat off freenode HOT 2
- Explore replacing net.IP with inet.af/netaddr.IP HOT 2
- Explore using shoco for peer compression HOT 2
- Generational Garbage Collection
- State of Chihaya? No release since 2016? Will a new release be published? HOT 3
- Adopt goreleaser
- Change storage interface to take a slice of peers as input
- Does chihaya not support redis cluster mode? HOT 2
- How to read metrics number? HOT 2
- Explore garbage collection using golang.org/x/exp/maps
- How to connect to redis with unix domain socket? HOT 2
- Ideas regarding limiting concurrency and reducing allocations
- Data Race in UDP Frontend
- Use cases for peer-to-peer cloud software deployments HOT 3
- Investigate zeropool
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chihaya.