From BC$ MobileTV Wiki
(Redirected from Caching)
Jump to: navigation, search

A cache is a temporary storage file intended to speed up an application or service.


Cache Architectures



DNS cache

DNS Caching occurs when top-level DNS servers hold on to a mapping of popular (commonly visited) and/or recently visited domain names and their corersponding IPv4/IPv6 address ranges.

Load Balancer

Reverse Proxy

Caching at the Load Balancer level.


CDN cache

On top of just loading content quickly, there are regional differences in content connection speeds (ISP quality), network routes (for legal/political reasons, etc), blocking/monitoring (i.e. political reasons). For that reason, in serving traffic globally it is often most performant and sometimes legally optimal to use a CDN with data centers within the countries/sub-regions you officially do business.

Cloud-based App cache

Short of or in collaboration with a full file-level CDN, a Cloud-based Caching platform such as Hazelcast Cloud or any of the equivalent Cloud platforms’ caching mechanisms (AWS, Azure, GCP, etc) may be leveraged by an application, rather than relying solely on its own self-hosted or internal caching mechanism(s) to improve performance of its data retrieval.


Web Service cache

As in a common web server layer deployed on top of a slower application stack that can render pages dynamically but may not be as efficient for serving content quickly (aka. a Dispatcher, or "web optimization" server).


Microservice-level cache.

Application cache

Application Cache is held in-memory for the lifetime of an application (until the next restart, or based on some internal expiry policy or caching mechanism).


Browser Cache

Client-side caching happens in the user's browser.

 <meta http-equiv="cache-control" content="max-age=0" />
 <meta http-equiv="cache-control" content="no-cache" />
 <meta http-equiv="pragma" content="no-cache" />

[2] [3] [4] [5]


Example "expires" headers used to set refresh intervals for specific pages, content or entire web applications:

 <http-equiv="expires" content="0" />
 <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />


A lazy loading image caching companion technique to show a gradient color that matches/approximates the image in place of an actual image until It has loaded. This is particularly useful in Mobile Applications or any applications that need to load large image assets remotely/externally through a network connection.




[14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]

External Links


  1. Where Is My Cache? Architectural Patterns for Caching Microservices:
  2. Using <meta> tags to turn off caching in all browsers?:
  3. Useful HTML Meta Tags:
  4. What is the meaning of the html tag HTTP-EQUIV "CACHE-CONTROL":
  5. Different kinds of caches:
  6. Java - Generate BlurHash Examples:
  7. setDoInput and setDoOutput in Java HttpURLConnection:
  8. Adding header for HttpURLConnection:
  9. How to modify the header of a HttpUrlConnection:
  10. How does EhCache work in a clustered environment:
  11. Using ehcache and verifying that it works with JPA and springframework:
  12. Ehcache - A Java Distributed Cache:
  13. What is Ehcache in Java?:
  14. What is JCache?:
  15. JCache RI - note that the reference implementation should not be used in PROD: (missing tiered storage & distributed caching)
  16. Introduction to JCache (JSR 107):
  17. Apache Ignite (data grid) - OSS JCache provider: t
  18. Apache Ignite - JCache and Beyond:
  19. Apache Camel - JCache component:
  20. Oracle Coherence - JCache:
  21. Oracle Coherence - Working with JCache:
  22. Hazelcast - Java Cache implementation:
  23. Terracotta - EH Cache:
  24. Infinispan - JCache:

See Also

PHP | Java | AJAX | JavaScript | CSS | Image | Optimization | CDN