redis dependency is optional