Ristretto Alternatives
Similar projects and alternatives to ristretto
-
stretto
Stretto is a Rust implementation for https://github.com/dgraph-io/ristretto. A high performance memory-bound Rust cache. (by al8n)
-
IceFireDB
IceFireDB is a database built for web3 and web2. It strives to fill the gap between web2 and web3 with a friendly database experience, making web3 application data storage more convenient, and making it easier for web2 applications to achieve decentralization and data immutability.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
-
-
-
-
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
-
ergo
an actor based Framework for creating microservices using technologies and design patterns of Erlang/OTP in Golang
-
-
-
-
Tendis
Tendis is a high-performance distributed storage system fully compatible with the Redis protocol.
-
-
-
-
-
-
-
ristretto reviews and mentions
-
Quitting Dgraph Labs
While I never used dgraph, I do use badger and ristretto and am similarly in a bind over their long-term survival (moreso badger than ristretto)...
-
Recommendation for Key/Value storage
There are also different packages used as a wrapper on top of the Go map based on what your requirements are (storing a lot of data) https://github.com/allegro/bigcache or (need performance) https://github.com/dgraph-io/ristretto. For basic use-cases, the standard Go map should be enough. Just keep in mind whether you need concurrent access to your data structure, in which case you should guard your map with a mutex .
-
Writing a concurrent LRU cache
Ya, I saw concache but I looked into it and it doesn't implement what is needed. Each bucket has its own linked-list backing (hence "lock-free linked list buckets"). An LRU needs each value in each bucket to be part of one linked list I believe. After posting this I realized my line of research was failing because it was state of the art five years ago. Caffeine replaced `concurrentlinkedhashmap` in the java world (by the same author). A rust version of that is Moka. These are much more complicated than a concurrent LRU but faster (aka more state of the art). Another rust crate is Stretto which is a port of dgraph's Ristretto (in go). The question becomes is it worth it to essentially port `concurrentlinkedhashmap` to have a great concurrent LRU when there are more state of the art caches out there.
-
Stretto - a thread-safe, high-performance, high hit-ratio cache.
Stretto is a pure Rust implementation for https://github.com/dgraph-io/ristretto. A high performance thread-safe memory-bound Rust cache.
- IceFireDB:Distributed disk storage database based on Raft and Redis protocol.
- https://np.reddit.com/r/programming/comments/p7a56u/icefiredbdistributed_disk_storage_database_based/h9i9j44/
- https://np.reddit.com/r/coding/comments/p79ywb/icefiredbdistributed_disk_storage_database_based/h9i8p6q/
-
Gravity - Allocator on byte array
Ristretto uses a similar technique for a cache. You might wanna check it out. The blogpost here https://dgraph.io/blog/post/manual-memory-management-golang-jemalloc/ explains it
Stats
dgraph-io/ristretto is an open source project licensed under Apache License 2.0 which is an OSI approved license.
Popular Comparisons
Are you hiring? Post a new remote job listing for free.