Closed rfyiamcool closed 1 year ago
There is a blog post about ristretto if you are curious https://dgraph.io/blog/post/introducing-ristretto-high-perf-go-cache/ ...
I don't have much insights into the past naming conventions - but if you read the blog post, it kind of tells you that all terminologies are related coffee
(hence ristretto
).
After publishing the [blog post](https://blog.dgraph.io/post/caching-in-go/), we built a team to address the challenges mentioned therein and create a Go cache library worthy of being compared to non-Go cache implementations. In particular, [Caffeine](https://github.com/ben-manes/caffeine) which is a high performance, near-optimal caching library based on Java 8. It is being used by many Java-based databases, like Cassandra, HBase, and Neo4j. T[here](http://highscalability.com/blog/2016/1/25/design-of-a-modern-cache.html)’s an article about the design of Caffeine here.
Ristretto: Better Half of Espresso
We have since [read](https://dgraph.io/blog/refs/bp_wrapper.pdf) [the](https://dgraph.io/blog/refs/Adaptive%20Software%20Cache%20Management.pdf) [literature](https://dgraph.io/blog/refs/TinyLFU%20-%20A%20Highly%20Efficient%20Cache%20Admission%20Policy.pdf), extensively tested implementations and discussed every variable there is to consider in writing a cache library. And today, we are proud to announce that it is ready for the wider Go community to use and experiment with.
Hope this helps!
@rfyiamcool Ben Manes maintains an excellent Java cache called Caffeine that is based on the TinyLFU admission policy. Ristretto is also based on the same theory and was inspired by Caffeine. I believe the blog posts also mention some of these connections if you are curious. Hope that helps.
Question.
😁 Why did you choose ristretto as the project name ?