We are seeing high CPU usage and increased API latency in our production cluster under heavy traffic because a HashMap-based in-memory cache has degraded lookup performance. How do you use Spring's caching features to solve this?