Design a caching layer to optimize backend performance and reduce external API rate-limiting issues in a full-stack application.