Data - Cache

> (Data|State) Management and Processing

1 - About

In computer science, a cache is a component that improves performance by transparently storing data such that future requests for that data can be served faster.

The data that is stored within a cache might be:

  • values that have been computed earlier
  • or duplicates of original values that are stored elsewhere.

3 - Goal

Which information is loaded into cache depends on algorithms and certain assumptions about programming code. The goal of the cache system is to ensure that the application has the next bit of data it will need already loaded into cache by the time it goes looking for it (also called a cache hit).

4 - Cache hit, cache miss

If requested data is contained in the cache, a cache hit occurs and this request can be served by simply reading the cache, which is comparably faster.

Otherwise, a cache miss occurs and the data has to be recomputed or fetched from its original storage location, which is comparably slower.

Hence, the more requests can be served from the cache the better the overall system performance is.

5 - A cache is transparent

As opposed to a buffer, which is managed explicitly by a client, a cache stores data transparently: This means that a client who is requesting data from a system is not aware that the cache exists, which is the origin of the name cache (from French “cacher”, to conceal).

6 - Validity Cache Time vs Business Level

Architecture Level Data Latency
Raw Source Immediate
Real Time Cache Seconds
Business Process Minutes
Business Management Day
Business Lead Week, Month, Year

7 - Implemententation

  • memcached Free & open source, high-performance, distributed memory object caching system

8 - Documentation / Reference

data/cache.txt · Last modified: 2017/09/07 13:15 by gerardnico