46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
# DRF Rack
|
|
# Библиотека классов расширений для Django REST Framework
|
|
#
|
|
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
|
# Все права защищены. Лицензия: MIT
|
|
|
|
"""
|
|
Параметры конфигурации подключения к KeyDb (Redis)
|
|
"""
|
|
|
|
from net.xeaf.rack.utils.settings import RackConfig
|
|
|
|
#
|
|
# Проверяем необходимость настройки
|
|
#
|
|
USE_KEYDB = RackConfig.env_bool('USE_KEYDB', True)
|
|
if USE_KEYDB:
|
|
|
|
#
|
|
# Читаем параметры подключения к KeyDb (Redis)
|
|
#
|
|
KEYDB_HOST = RackConfig.env_str("KEYDB_HOST", "127.0.0.1")
|
|
KEYDB_PORT = RackConfig.env_int("KEYDB_PORT", 6379)
|
|
KEYDB_DBINDEX = RackConfig.env_int("KEYDB_DBINDEX", 1)
|
|
KEYDB_PASSWORD = RackConfig.env_str('KEYDB_PASSWORD', "")
|
|
KEYDB_POOL_SIZE = RackConfig.env_int('KEYDB_POOL_SIZE', 5)
|
|
KEYDB_LOCATION = f"redis://:{KEYDB_PASSWORD}@{KEYDB_HOST}:{KEYDB_PORT}/{KEYDB_DBINDEX}"
|
|
|
|
#
|
|
# Параметры кеширования данных
|
|
#
|
|
CACHES = {
|
|
"default": {
|
|
"BACKEND": "django.core.cache.backends.redis.RedisCache",
|
|
"LOCATION": KEYDB_LOCATION,
|
|
"OPTIONS": {
|
|
"CLIENT_CLASS": "django.core.cache.backends.redis.RedisClient",
|
|
"CONNECTION_POOL_KWARGS": {
|
|
"max_connections": KEYDB_POOL_SIZE,
|
|
"retry_on_timeout": True,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|