Caching is a mechanism to store frequently accessed data in a data store temporarily and retrieve this data for subsequent requests instead of extracting it from the original data source. This process improves the performance and availability of an application. Reading data from the database may be slower if it needs to execute complex queries.
Caching should be considered for
Caching Patterns
Advanced Caching Patterns
More details about Caching Patterns - snippset.
Things to consider to estimate the size of the cache: