implemented Redis cache provider using Predis