A. Caching systems in general:
- there are many caching systems out there, with totally different APIs, levels of complexity, implementations and use-cases, so a minimum common API should provide some level of portability.
- caching systems can work synchronously or asynchronously
- usually caching systems store items for a limited amount of time (expiration, time-to-live, etc.)
- some caching systems expose the expiration information in their API, others don't
- those caching systems who use expiration may chose to use a predefined value, a system imposed value, or let the API consumer specify a value
- the most basic operations are the storing and retrieval of things from the cache