requests and redis are optional