Add caching with Redis