Caching is used to optimize performance by taking advantage of different access speeds of storage mediums. It stores frequently accessed data in faster storage like memory or disk cache. There are different types of caches like browser cache, server cache using memcached, and cache within a request. Memcached is mainly used for read-through caching but has issues like requiring separate deployment