使用容器时如何使用 flask-session 将 redis 设置为缓存?
How to setup redis as cache with flask-session when working with containers?
我正在尝试使用 docker 部署一个 flaskapp,所以我有两个容器,一个用于我的 flaskapp,另一个用于 redis。我已经设置了一个网络并在其中执行了两个。访问我的 flaskapp 时出现以下错误:
ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.
发生这种情况是因为我将 redis 用作 flask-session 的缓存,并且我将 redis 托管在一个名为 exampleredis 的容器中。
我的问题是:如何在 Flask 中将 redis 主机设置为 exampleredis?
我有以下配置文件:
class DevConfig(Config):
REDIS_HOST = 'exampleredis'
SESSION_TYPE = 'redis'
JSONIFY_PRETTYPRINT_REGULAR = False
JSON_SORT_KEYS = False
BCRYPT_LOG_ROUNDS = 15
DEBUG = True
根据 document of flask-session
,这应该可行:
import redis
class DevConfig(Config):
SESSION_REDIS = redis.from_url('redis://exampleredis:6379')
SESSION_TYPE = 'redis'
...
我正在尝试使用 docker 部署一个 flaskapp,所以我有两个容器,一个用于我的 flaskapp,另一个用于 redis。我已经设置了一个网络并在其中执行了两个。访问我的 flaskapp 时出现以下错误:
ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.
发生这种情况是因为我将 redis 用作 flask-session 的缓存,并且我将 redis 托管在一个名为 exampleredis 的容器中。
我的问题是:如何在 Flask 中将 redis 主机设置为 exampleredis?
我有以下配置文件:
class DevConfig(Config):
REDIS_HOST = 'exampleredis'
SESSION_TYPE = 'redis'
JSONIFY_PRETTYPRINT_REGULAR = False
JSON_SORT_KEYS = False
BCRYPT_LOG_ROUNDS = 15
DEBUG = True
根据 document of flask-session
,这应该可行:
import redis
class DevConfig(Config):
SESSION_REDIS = redis.from_url('redis://exampleredis:6379')
SESSION_TYPE = 'redis'
...