0

我已经使用 GCP Memorystore 部署了一个 Redis 实例。我还有一个使用 App Engine 部署的 django 应用程序。但是,我在连接这两个时遇到了问题。两者都部署在同一个时区。我使用的包是 django_redis。当我尝试登录管理页面时,我遇到了连接错误。错误是:

Exception Value: Error 110 connecting to <Redis instance IP>:6379. Connection timed out.
Exception Location: /env/lib/python3.7/site-packages/redis/connection.py in connect, line 557

在 settings.py 我使用:

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.core.RedisChannelLayer",
        "CONFIG": {
            "hosts": [("<Redis instance IP>", 6379)],
        },
    },
}

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": 'redis://<Redis instance IP>/0',
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient"
        }
    }
}

注意:使用本地安装的 Redis 并设置为 localhost,一切正常。

4

1 回答 1

1

为了连接到 Memorystore,您必须为您的应用程序设置一个 VPC 网络,并将该连接添加app.yaml到 propertyvpc_access_connector中。文档中对此进行了描述:连接到 VPC 网络

于 2020-03-10T00:40:56.887 回答