add redis support for caching