0

这是我的相关部分settings.py

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.RedisCache',
        'LOCATION': env.str("REDIS_URI"),
        'OPTIONS': {
            'DB': 1,
            'SOCKET_TIMEOUT': 5,
            'SOCKET_CONNECT_TIMEOUT': 5,
            'CONNECTION_POOL_CLASS': 'redis.BlockingConnectionPool',
            'CONNECTION_POOL_CLASS_KWARGS': {
                'max_connections': 50,
                'timeout': 20},
            'PICKLE_VERSION': -1,
        },
    },
}

我将上述配置移至 django-environ:

env REDIS_URL=rediscache://127.0.0.1:6379/1client_class=redis_cache.RedisCache&default_timeout=360

如何将连接 URL 添加REDIS_URL到 Django 的DATABASES

4

1 回答 1

1

首先,您?在 URL 参数中缺少 a :

REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=redis_cache.RedisCache&default_timeout=360

其次,这一切都在 docs 中进行了描述。

在你的情况下:

CACHES = {
    'default': env.cache()  # default = 'CACHE_URL' environmennt variable
}

CACHE_URL需要设置为环境变量。

export CACHE_URL=rediscache://127.0.0.1:6379/1?client_class=redis_cache.RedisCache&default_timeout=360

如果您坚持使用REDIS_URL,您可以执行以下操作:

CACHES = {
    'default': env.cache('REDIS_URL')
}

可以使用 URL 参数添加其他选项。

于 2018-11-08T19:54:17.750 回答