System Design
  • Introduction
  • Basics
    • Key Characteristics of Distributed Systems
    • Load Balancing
    • Reverse Proxy
    • Cache
    • Sharding or Data Partitioning
    • Index
    • Redundancy and Replication
    • SQL vs NoSQL
  • Advanced
    • The Difference between SLI, SLO, and SLA
    • Consistent Hashing
    • Server-to-client Communication
    • Data Sharding
  • Database
    • SQL
    • ACID
    • Data Partitioning
  • News Feed
    • Design a News Feed System
    • Timeline creation with sharded data
    • Facebook News Feed
    • Twitter News Feed (Timeline)
    • How does facebook rank news feed?
  • Mint
    • Design Mint
  • Web Crawler
    • Design a web crawler
    • Design a decentralized web crawler
  • TODO
    • TODO
    • Elastic Search
    • Lucene
    • twitter-snowflake
Powered by GitBook
On this page
  • Independent cache system
  • Cache writing policy
  • What to Cache
  • Cache Eviction Strategy

Was this helpful?

  1. Basics

Cache

Increase the performance of read operations.

Application server cache: local cache. Example: map, leveldb. High performance but hard to scale. Violates stateless server principle.

CDN: static content cache, media/binarries

Independent cache system

  • Redis: complex data structure. Built-in high availability

  • Memcache: simple key-value, high concurrency

Cache writing policy

write-through: write to cache and db.

write-around: discard cache result, write db

write-back: only write cache, don't write to DB. not consistent.

If the cache content is easy to calculate, use write-through, otherwise, write-around.

Cache eviction policies: LRU, LFU, FIFO.

What to Cache

TODO

Cache Eviction Strategy

TODO

PreviousReverse ProxyNextSharding or Data Partitioning

Last updated 4 years ago

Was this helpful?