3 ms·
Dash sounds super interesting. I hadn't heard of that until now. If 2Q sounds interesting see also the TinyLFU paper[0]. TinyLFU is the strategy used by Ristre
by jzelinskie 4y ago
Dash sounds super interesting. I hadn't heard of that until now.
If 2Q sounds interesting see also the TinyLFU paper[0]. TinyLFU is the strategy used by Ristretto, the Go LFU cache used by Dgraph, Vitess, and SpiceDB. In the introduction of the paper it lists related works including 2Q and nice high level descriptions of alternatives.
[0]: https://www.cs.technion.ac.il/~gilga/TinyLFU_PDP2014.pdf https://www.cs.technion.ac.il/~gilga/TinyLFU_PDP2014.pdf
- NovaX 4y ago> TinyLFU does not handle dynamic changes to demand to the cache like 2Q does That was resolved in a follow up paper [1], though Ristretto does not implement this. It is implemented by Caffeine, mentioned briefly in this article, which is popular in the Java ecosystem. [1] https://dgraph.io/blog/refs/Adaptive%20Software%20Cache%20Management.pdf https://dgraph.io/blog/refs/Adaptive%20Software%20Cache%20Ma...
- jzelinskie 4y agoI ended up shortly after editing my post to exclude that sentence because it was a bit more subtle than how I was putting it. Caffeine is definitely a library that makes me jealous of the JVM ecosystem on a regular basis :P