Caching Infrastructure: You are retrofitting a web app without an existing caching tier. Suppose you want to add a server-side cache to improve performance. What are your options, and what are key considerations for each option? For example, when would you use Memcached vs. Redis vs. other solutions, and what factors would affect where in the stack you would implement caching?