Skip to content

tmrts/teracache

Repository files navigation

Teracache
build-status License Release Version Documentation

Teracache is a scalable, decentralized, highly-available in-memory cache for read-asymmetrical workflows.

Workflow

The workflow diagram depicts a system with multiple topics and nodes where each color represents the topic they're in.

workflow-diagram

What is Read-Asymmetrical?

In a read-asymmetrical workflow, reads are frequent while the writes are rare. For example a newsfeed will resize and optimize a thumbnail when a new article arrives and then serve the optimized thumbnail to thousands or millions of users.

In such cases, it is very profitable to use a cache that doesn't sacrifice performance to allow write operations. Teracache does exactly this trade-off.

How to use invalidations?

Cache entries are immutable and no entry is considered stale. Entries are evicted only to admit more popular entries.

Inspired By