Crate segcache

Source
Expand description

This crate is a Rust implementation of the Segcache storage layer.

It is a high-throughput and memory-efficient key-value store with eager expiration. Segcache uses a segment-structured design that stores data in fixed-size segments, grouping objects with nearby expiration time into the same segment, and lifting most per-object metadata into the shared segment header. This reduces object metadata by 88% compared to Memcached.

A blog post about the overall design can be found here: https://pelikan.io/2021/segcache.html

Goals:

  • high-throughput item storage
  • eager expiration of items
  • low metadata overhead

Non-goals:

  • not designed for concurrent access

Structs§

Builder
A builder that is used to construct a new Segcache instance.
Item
Items are the base unit of data stored within the cache.
Segcache
A pre-allocated key-value store with eager expiration. It uses a segment-structured design that stores data in fixed-size segments, grouping objects with nearby expiration time into the same segment, and lifting most per-object metadata into the shared segment header.

Enums§

Policy
Policies define the eviction strategy to be used. All eviction strategies exclude segments which are currently accepting new items.
SegcacheError
Possible errors returned by the top-level API
Value