segcache

Crates.iosegcache
lib.rssegcache
version0.1.1
sourcesrc
created_at2023-12-19 22:09:32.842079
updated_at2024-01-03 19:25:37.142096
descriptionPelikan segment-structured cache
homepagehttps://pelikan.io
repositoryhttps://github.com/pelikan-io/pelikan
max_upload_size
id1074660
size227,222
Pelikan Publishers (github:pelikan-io:pelikan-publishers)

documentation

README

Segcache is a cache storage engine that delivers high memory efficiency, high throughput, and excellent scalability for web cache workloads.

The design is optimized for workloads that access predominantly small objects and use TTL (time-to-live). These workloads, which represent most of what social media websites, as well as a good portion of web workloads in general, have historically paid a significant memory overhead due to their small object sizes and transient nature. In Twitter's case, which was where this design was originally developed in collaboration with Carnegie Mellon University, the cache memory footprint was reduced by as much as 60%. This was achieved while maintaining comparable or better throughput to best-in-kind alternatives, such as the slab memory allocator in Memcached and its cousin in Twemcache. Segcache also offers much better (write) scalability compared to Memcached.

The design was first published as a conference paper at NSDI’21, titled “Pelikan Segcache: a memory-efficient and scalable in-memory key-value cache for small objects”. It received NSDI Community Award, and the code used in the paper is merged into Pelikan codebase as of April 2021. A more detailed description can be found in the form of a blog post.

Commit count: 889

cargo fmt