Application Level Caching

Application Level Caching

I was recently asked about why we are using Redis in a solution and thought I would share the reasonings here. The question really had more to do with distributed cache than Redis itself. The uses here could just as well apply to another similar service, such as:

While some of these offer more than just distributed in-memory data store, that is the focused use here. And while there are other layers in an architecture that can do caching, this is specific to application level caching as opposed to any network or client level caching.

Uses

  • Distributed cache of expensive to calculate or obtain data that may used multiple times across requests or requestors
  • Cache of orchestrated data that might be consumed over multiple requests, i.e. data paging
  • Distributed locks, used to coordinate and serialize work across service instances, requests and handling of messages from message broker