Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Caffeine Alternatives
Similar projects and alternatives to Caffeine
-
-
-
Revelo Payroll
Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.
-
-
Hazelcast
Hazelcast is a unified real-time data platform combining stream processing with a fast data store, allowing customers to act instantly on data-in-motion for real-time insights.
-
-
-
-
Sonar
Write Clean Java Code. Always.. Sonar helps you commit clean code every time. With over 600 unique rules to find Java bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
scaffeine
Thin Scala wrapper for Caffeine (https://github.com/ben-manes/caffeine)
-
minisketch
Minisketch: an optimized library for BCH-based set reconciliation
-
-
-
-
-
t-digest
A new data structure for accurate on-line accumulation of rank-based statistics such as quantiles and trimmed means
-
caffeine
A basic REST service for JSON data - enough for prototyping and MVPs! (by rehacktive)
-
-
incubator-baremaps
Create custom vector tiles from OpenStreetMap and other data sources with Postgis and Java.
-
-
JHipster
JHipster, much like Spring initializr, is a generator to create a boilerplate backend application, but also with an integrated front end implementation in React, Vue or Angular. In their own words, it "Is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures."
-
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
Caffeine reviews and mentions
-
Helidon Níma is the first Java microservices framework based on virtual threads
not to distract from your valid points but, when used properly, Caffeine + Reactor can work together really nicely [1].
[1] https://github.com/ben-manes/caffeine/tree/master/examples/c...
-
FIFO-Reinsertion is better than LRU [pdf]
I wonder why all these papers ignore comparison against W-TinyLFU.
https://github.com/ben-manes/caffeine/wiki/Efficiency Shows that it really outperforms ARC as well and they also have an optimal oracle version that they evaluate against to show how much room there is left (admittedly the oracle version itself implies you’re picking some global criterion to optimize but that’s trickier when in reality there are multiple axes along which to optimize and you can’t simultaneously do well across all of them).
Yes, I think that is my main concern in that often research papers do not disclose the weaknesses of their approaches and the opposing tradeoffs. There is no silver bullet.
The stress workload that I use is to chain corda-large [1], 5x loop [2], corda-large at a cache size of 512 entries and 6M requests. This shifts from a strongly LRU-biased pattern to an MRU one, and then back again. My solution to this was to use hill climbing by sampling the hit rate to adaptively size of the admission window (aka your FIFO) to reconfigure the cache region sizes. You already have similar code in your CACHEUS implementation which built on that idea to apply it to a multi-agent policy.
Caffeine adjusts the frequency comparison for admission slightly to allow ~1% of losing warm candidates to enter the main region. This is to protect against hash flooding attack (HashDoS) [3]. That isn't intended to improve or correct the policy's decision making so should be unrelated to your observations, but an important change for real-world usage.
I believe LIRS2 [4] adaptively sizes their LIR region, but I do not recall the details as a complex algorithm. It did very well across different workloads when I tried it out and the authors were able to make a few performance fixes based on my feedback. Unfortunately I find LIRS algorithms to be too difficult to maintain for an industry setting because while excellent, the implementation logic is not intuitive which makes it frustrating to debug.
[1] https://github.com/ben-manes/caffeine/blob/master/simulator/...
-
Guava 32.0 (released today) and the @Beta annotation
A lot of Guava's most popular libraries graduated to the JDK. Also Caffeine is the evolution of our c.g.common.cache library. So you need Guava less than you used to. Hooray!
-
Apache Baremaps: online maps toolkit
Unfortunately, I don't gather statistics on the demonstration server. I believe that the in-memory caffeine cache (https://github.com/ben-manes/caffeine) saved me.
-
Theine 0.3.3 released, introducing new Clock-Pro eviction policy
Pebble's author wanted the simpler approach for concurrency and the implementation significantly differs from the paper. An attempt to clean up and improve it was done in the Java simulator, but the corrected version held the write lock longer as it scans more. I think adding thresholds is a good idea for a real implementation like yours.
-
Theine 0.1.3 release, sync/async decorator added
Theine: High performance in-memory cache inspired by Caffeine.
-
Extremely fast enterprise server framework, can be used in RPC, web server framework, game server framework.
5. orm automatic mapping framework based on mongodb,The secondary cache is designed using caffeine to fully release the database pressure
-
Python deserves a good in-memory cache library!
If you know Caffeine(Java)/Ristretto(Go)/Moka(Rust), you know what Theine is. Python deserves a good in-memory cache library.
-
DragonFlydb: Cache Design
It is handled by W-TinyLFU where I use this scenario as a stress test [1]. While LIRS / LIRS2 did not pass this one scenario, the quality of the work behind that policy leads me to believe it could be improved to handle that case.
[1] https://github.com/ben-manes/caffeine/wiki/Efficiency#adapti...
-
A note from our sponsor - InfluxDB
www.influxdata.com | 4 Oct 2023
Stats
ben-manes/caffeine is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of Caffeine is Java.