1store
Memcached
1store | Memcached | |
---|---|---|
2 | 56 | |
1,307 | 13,199 | |
- | 0.7% | |
10.0 | 8.4 | |
over 4 years ago | 8 days ago | |
C++ | C | |
GNU Affero General Public License v3.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
1store
-
So, you call yourself the fastest key/value store? It's 5X, 10x and 25X faster
How about including Pedis in this? It is a Redis partial reimplementation, written around Seastar: https://github.com/fastio/1store
-
Redis Cluster Re-Implemented in Rust: Scaling Redis Easily in Kubernetes
There is a parallel but less fancy reimplementation of Redis called Pedis:
https://github.com/fastio/1store
It's built using Seastar, which is sort of an ugh but cool unholy marriage of node.js and C++ ;-). It predates C++20 coroutines I guess, so you pass callbacks around like in Node. Maybe they have updated that by now.
They have also done a version of memcached using DPDK. I don't see a Pedis one, but check out their memcached one (scroll down): http://seastar.io/
Memcached
-
System Design: Databases and DBMS
Memcached
- Redis Re-Implemented with SQLite
-
Best engineering interview question I've gotten
> Multiple clients racing can't be fixed.
Really? You can't think of a single way for multiple clients to operate on the same data without racing? (Here's a hint if you're still having trouble: https://github.com/memcached/memcached/wiki/Commands#cas.)
- Memcached 1.6.25 Release Notes
- Memcached 1.6.24 Release Notes
-
How to choose the right type of database
Memcached: A simple, open-source, distributed memory object caching system primarily used for caching strings. Best suited for lightweight, non-persistent caching needs.
-
Sieve is simpler than LRU
Oh, thank you! I didn't realize that LRU Maintainer Thread was more than an expiration reaper. When it was first being introduced that was its first responsibility as lazy expiration removal by size eviction meant dead entries wasted capacity. It was all work in progress when I had read about it [1] and talked to dormando, so it got fuzzy. The compat code [2, 3] might have also thrown me off if I only looked at the setting and not the usage. Its a neat variant to all of these ideas.
[1] https://github.com/memcached/memcached/pull/97
-
A Developer's Journal: Simplifying the Twelve-Factor App
stores session state in a session store like Memcached or Redis.
-
In-memory database Redis wants to dabble in disk
memcached has recently gained the ability to spill to disk: https://github.com/memcached/memcached/wiki/Extstore
we recently implemented this to grow our caches to >50TB
-
Django Caching 101: Understanding the Basics and Beyond
Django supports using Memcached as a cache backend. Memcached is a high-performance, distributed memory caching system that can be used to store cached data across multiple servers.
What are some alternatives?
dragonfly - A modern replacement for Redis and Memcached
Varnish - The project homepage
Tendis - Tendis is a high-performance distributed storage system fully compatible with the Redis protocol.
node-cache - A simple in-memory cache for nodejs
undermoon-operator - Kubernetes Operator for Redis cluster based on Undermoon
undermoon - Mordern Redis Cluster solution for easy operation.
node-cache - a node internal (in-memory) caching module
sky-benches - Attempts at benchmarking Skytable with the others to see where we stand
KeyDB - A Multithreaded Fork of Redis
skytable - Skytable is a modern scalable NoSQL database with BlueQL, designed for performance, scalability and flexibility. Skytable gives you spaces, models, data types, complex collections and more to build powerful experiences
Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.