Skip to content

Cache Architectures

Cache refers to a mechanism that uses high-speed memory to temporarily store frequently accessed data or instructions, aiming to improve system performance by reducing data access latency.


Client Side Cache

Client-side caching stores web content on the user's device to speed up loading of previously visited pages. This cache is managed by the user's browser and can include HTML, CSS, images, and JavaScript.

Content Delivery Network (CDN)

A Content Delivery Network (CDN) is a geographically distributed network of data centers and proxy servers that delivers web content and media efficiently. Requests are served by the nearest data center, reducing latency and improving user experience.

  • Improved loading times
  • Increased availability and redundancy
  • Reduced bandwidth costs
  • Enhanced security

Cloud Services

Azure - Azure CDN - Azure Front Door

AWS - AWS CloudFront - AWS Global Accelerator

Messaging Cache Systems (Queue)

Messaging systems like RabbitMQ or Apache ActiveMQ act as temporary data buffers in distributed systems, allowing asynchronous communication and improving performance.

  • Temporary storage for updates
  • Caching messages in memory for faster delivery

Cloud Services

Azure - Azure Queue Storage - Azure Event Hubs - Azure Service Bus - Azure Redis Cache

AWS - Amazon SQS - Amazon Kinesis - AWS ElastiCache

Disk-based Cache Systems

Disk-based cache systems use disk storage for caching data, providing larger capacity at lower cost. Useful for caching large amounts of data and persisting cache across restarts.

  • Database query cache
  • Key-value stores with disk persistence (Redis, RocksDB)

Cloud Services

Azure - Azure SQL Database Read Scale-Out - Azure Redis Cache

AWS - Amazon RDS Read Replicas - AWS ElastiCache

Distributed Cache

A distributed cache spreads operations among multiple nodes, pooling memory resources for high-load applications. It provides high availability and redundancy.

Cloud Services

Azure - Azure Cache for Redis - Azure Managed Instance for Apache Cassandra

AWS - Amazon ElastiCache - Amazon DynamoDB DAX

Full Text Search Index

Full-text search caches store results of search queries for faster retrieval. Dedicated search services handle full-text search, while caching services store query results.

Cloud Services

Azure - Azure Cognitive Search - Azure Cache for Redis - Azure Cosmos DB

AWS - Amazon ElasticSearch Service - ElastiCache

Database Cache

Database caching uses memory to store frequently accessed data, improving performance and reliability.

  • Write-Ahead Log (WAL)
  • Buffer Pool
  • Materialized Views
  • Transaction Logs
  • Replication Logs

Cloud Services

Azure - Azure SQL Database - Azure Database for MySQL and PostgreSQL - Azure Cosmos DB

AWS - Amazon RDS - Amazon Aurora - Amazon DynamoDB

Redis

Redis is an open-source, in-memory data structure store used as a database, cache, and message broker. It supports various data structures, persistence, replication, transactions, Lua scripting, and pub/sub capabilities.

ElastiCache

Amazon ElastiCache is a managed in-memory data store supporting Redis and Memcached. It provides high-speed access, scaling, high availability, security, and integration with AWS services.

Memcached

Memcached is a high-performance distributed memory object caching system. It is a simple key-value store, effective for caching small data chunks, and uses LRU caching