dgraph-io / ristretto

A high performance memory-bound Go cache
https://dgraph.io/blog/post/introducing-ristretto-high-perf-go-cache/
Apache License 2.0
5.64k stars 374 forks source link

[QUESTION]: Why did you choose ristretto as the project name ? #331

Closed rfyiamcool closed 1 year ago

rfyiamcool commented 1 year ago

Question.

😁 Why did you choose ristretto as the project name ?

skrdgraph commented 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!

joshua-goldstein commented 1 year ago

@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.