Настройка Redis и кэширования¶
OSA Proxy Go поддерживает Redis-кэш вердиктов Judge, чтобы ускорять повторные запросы и снижать нагрузку на CodeScoring. Кэш выключен по умолчанию.
cache:
judge:
enabled: true
ttl: 24h
refresh-after: 30m
proactive-refresh-enabled: false
proactive-refresh-interval: 2h
proactive-refresh-workers: 10
key-prefix: "cs:judge:"
redis:
address: redis:6379
password: ""
db: 0
Параметры¶
| Параметр | Назначение |
|---|---|
cache.judge.enabled |
Включает Redis-кэш результатов проверки Judge. |
cache.judge.ttl |
Время жизни записи кэша. По умолчанию 24h. |
cache.judge.refresh-after |
Возраст записи, после которого ее можно обновлять в фоне. По умолчанию 30m. |
cache.judge.proactive-refresh-enabled |
Включает периодическое фоновое обновление устаревающих записей. По умолчанию false. |
cache.judge.proactive-refresh-interval |
Период фонового обновления. По умолчанию 2h. |
cache.judge.proactive-refresh-workers |
Количество workers для фонового обновления. По умолчанию 10. |
cache.judge.key-prefix |
Префикс Redis-ключей. |
cache.redis.address |
Адрес Redis в формате host:port. |
cache.redis.password |
Пароль Redis. |
cache.redis.db |
Номер базы Redis. |
TTL и фоновое обновление
Фоновое обновление не продлевает TTL записи само по себе. TTL продлевается при чтении данных из кэша реальными запросами, поэтому редко используемые записи со временем удаляются из Redis.
Управление кэшем¶
Служебный API доступен через Swagger UI:
Основные операции:
DELETE /api/cache/purls— удалить конкретные PURL из кэша вердиктов;DELETE /api/cache/packages/{packageType}— удалить записи по типу пакета, имени пакета или repository context.
Страница была полезна?