Caching Strategies

Published on: September 06, 2025

Tags: #caching-strategies #performance #latency


Read-intensive application caching strategies

Cache-aside

sequenceDiagram
    participant App
    participant Cache
    participant DataStore

    App->>Cache: 1. Read from cache
    Cache-->>App: Cache Miss
    App->>DataStore: 2. Read from data store
    DataStore-->>App: Data
    App->>Cache: 3. Store in cache
    App->>App: 4. Return to app

Read-through

sequenceDiagram
    participant App
    participant Cache
    participant DataStore

    App->>Cache: 1. Read from cache
    Cache->>DataStore: 2. Read from data store, if not in cache
    DataStore-->>Cache: Data
    Cache->>Cache: 3. Store in cache
    Cache-->>App: 4. Return to app

Refresh-ahead

sequenceDiagram
    participant App
    participant Cache
    participant DataStore

    App->>Cache: 1. Read from cache
    Cache-->>App: Return stale data
    Cache->>DataStore: 2. Read from data store (asynchronously)
    DataStore-->>Cache: Fresher data
    Cache->>Cache: Update cache

Write-intensive application caching strategies

Write-through

sequenceDiagram
    participant App
    participant Cache
    participant DataStore

    App->>Cache: 1. Write to cache
    Cache->>DataStore: 2. Write to data store
    DataStore-->>Cache: Ack
    Cache-->>App: Ack

Write-around

sequenceDiagram
    participant App
    participant DataStore
    participant Cache

    App->>DataStore: 1. Write to data store
    DataStore-->>Cache: 2. Async write to cache
    DataStore-->>App: Ack

Write-back

sequenceDiagram
    participant App
    participant Cache
    participant DataStore

    App->>Cache: 1. Multiple writes to cache
    Cache-->>App: Ack
    Cache-->>DataStore: 2. Async write to data store

Share this post

Share on X  •  Share on LinkedIn  •  Share via Email