Кэширование
Обзор
swag2mcp кэширует скачанные файлы спецификаций, чтобы MCP-сервер запускался быстрее при последующих запусках. Вместо загрузки одного и того же файла спецификации каждый раз используется кэшированная копия.
Как работает кэширование
Когда вы добавляете спецификацию с удалённым URL, swag2mcp скачивает её и сохраняет в директорию cache/. При следующем запуске он проверяет, актуальна ли кэшированная копия. Если да, загрузка пропускается.
Что кэшируется
| Источник | Поведение |
|---|---|
| Удалённый URL (http/https) | Всегда кэшируется. Скачивается один раз, используется повторно до истечения кэша. |
Локальный файл в specs/ | Используется напрямую из директории specs/. Никогда не кэшируется — изменения видны сразу. |
Локальный файл вне specs/ | Копируется в кэш. Если исходный файл изменяется (время модификации), кэш аннулируется. |
Истечение кэша (TTL)
Каждый кэшированный файл получает случайное время истечения от 1 часа до 48 часов. Случайность предотвращает одновременное истечение всех кэшированных файлов (что вызвало бы "толпящееся стадо" загрузок).
- TTL фиксируется во время кэширования и не изменяется при перезапуске сервера
- Если кэшированный файл всё ещё в пределах TTL, он используется повторно
- Если TTL истёк, файл загружается снова
Структура кэша
~/.swag2mcp/cache/
├── a1b2c3d4e5f6a7b8.spec # Кэшированный файл спецификации
├── a1b2c3d4e5f6a7b8.meta # Метаданные (источник, TTL, время кэширования)
├── b2c3d4e5f6a7b8c9.spec
├── b2c3d4e5f6a7b8c9.meta
└── ...Ключ кэша формируется из URL или пути файла спецификации. Каждый кэшированный файл имеет сопутствующий файл .meta, в котором хранится время кэширования и истечения.
Управление кэшем
Принудительное обновление
Выполните swag2mcp update, чтобы очистить весь кэш и перезагрузить все файлы спецификаций:
swag2mcp updateЭто проверяет конфиг, очищает кэш и загружает всё заново.
Ручная очистка кэша
swag2mcp cleanЭто удаляет все кэшированные файлы спецификаций и сохранённые ответы API. При следующем запуске MCP-сервера все спецификации будут загружены снова.
Автоматическая очистка
При запуске MCP-сервера (swag2mcp mcp) сохранённые ответы API старше 48 часов автоматически удаляются. Это предотвращает бесконечный рост директории responses/.
Важные замечания
- Локальные файлы в
specs/никогда не кэшируются — если вы редактируете файл спецификации напрямую в директорииspecs/, изменения видны сразу без очистки кэша - Удалённые URL всегда кэшируются — нет способа обойти кэш для удалённых URL, кроме выполнения
swag2mcp updateилиswag2mcp clean - Кэш локальный — он хранится на диске и не синхронизируется между машинами. Используйте
swag2mcp exportиswag2mcp importдля переноса спецификаций между машинами