Discuss the trade-offs between using a distributed cache (e.g., Redis, Memcached) and a local in-memory cache for improving application performance. Consider factors such as data consistency, cache invalidation strategies, scalability, and operational complexity. How does the choice of caching mechanism impact application architecture, data access patterns, and deployment strategies?