Added a Redis caching layer