Конфигурирование Redis-кеша в Django с использованием django-environment
Вот соответствующая часть моего 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-environment:
env REDIS_URL=rediscache://127.0.0.1:6379/1client_class=redis_cache.RedisCache&default_timeout=360
Как я могу добавить URL-адрес подключения из REDIS_URL
к Джанго DATABASES
?
1 ответ
Прежде всего, вам не хватает ?
в параметрах URL:
REDIS_URL=rediscache://127.0.0.1:6379/1?client_class=redis_cache.RedisCache&default_timeout=360
Во-вторых, все это описано в документах.
В твоем случае:
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.