Software Architecture, Software Engineering, Software Development, Distributed Systems, Caching.
types of applications and middleware have their own caches as well. For example, databases use caching to save frequently used queries as well as frequently returned result sets. Also, there are of course many robust software caching products such as Redis, EHCache, Memcached, Hazelcast, Infinispan