libCacheSim
Memcached
libCacheSim | Memcached | |
---|---|---|
2 | 56 | |
123 | 13,236 | |
- | 0.8% | |
8.3 | 8.4 | |
30 days ago | about 22 hours ago | |
C | C | |
GNU General Public License v3.0 only | 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.
libCacheSim
-
Sieve is simpler than LRU
https://github.com/1a1a11a/libCacheSim/blob/develop/libCache...
-
Otter, Fastest Go in-memory cache based on S3-FIFO algorithm
/u/someplaceguy,
Those LIRS traces, along with many others, available at this page [1]. I did a cursory review using their traces using Caffeine's and the author's simulators to avoid bias or a mistaken implementation. In their target workloads Caffeine was on par or better [2]. I have not seen anything novel in this or their previous works and find their claims to be easily disproven, so I have not implement this policy in Caffeine simulator yet.
[1]: https://github.com/ben-manes/caffeine/wiki/Simulator
[2]: https://github.com/1a1a11a/libCacheSim/discussions/20
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?
Caffeine - A high performance caching library for Java
Varnish - The project homepage
xsync - Concurrent data structures for Go
node-cache - A simple in-memory cache for nodejs
maphash
dragonfly - A modern replacement for Redis and Memcached
sosp23-s3fifo - The repo for SOSP23 paper: FIFO queues are all you need for cache evictions
node-cache - a node internal (in-memory) caching module
golang-fifo - Modern efficient cache design with simple FIFO queue only in Golang
KeyDB - A Multithreaded Fork of Redis
otter - A high performance lockless cache for Go.
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.