Redis: Why Caching Can Speed Up an Application and When to Use It