← Cloudflare Cache / cache / advanced-configuration
Cache Reserve
Cache Reserve представляет собой большое постоянное хранилище данных реализовано на основе R2. Достаточно одной кнопки в дашборде, чтобы кешируемый контент вашего сайта начал записываться в Cache Reserve.
Подобно тому как Tiered Cache выстраивает иерархию кешей между вашими посетителями и источником, Cache Reserve выступает в роли конечного верхнеуровневого кеша, который резервирует место для хранения ваших ресурсов на нужный вам срок. Это позволяет дольше отдавать контент из кеша и избавляет источник от лишних расходов на исходящий трафик.
Актуальность контента в Cache Reserve определяется на основе Edge Cache TTL настройку либо заголовок вашего сервера-источника Cache-Control заголовки, если Edge Cache TTL не задан. По истечении срока свежести Cloudflare повторно проверяет ресурс на источнике при следующем запросе. Это то же поведение, что и в обычном CDN Cloudflare.
Период хранения определяет, как долго ресурс остаётся в Cache Reserve, прежде чем будет удалён. По умолчанию период хранения в Cache Reserve составляет 30 дней. Если ресурс не запрашивается в течение этого периода, он удаляется из Cache Reserve. Каждый новый запрос ресурса сбрасывает отсчёт периода хранения.
Ресурсы должны соответствуют определённым критериям чтобы использовать Cache Reserve.
Cache Reserve относится к продуктам с оплатой по фактическому использованию и цены подробно описано ниже. Хотя Cache Reserve требует платного плана, пользователи могут продолжать бесплатно использовать CDN Cloudflare (без Cache Reserve).
Включите Cache Reserve
Требуется платный план Cache Reserve.
-
На панели управления Cloudflare перейдите к разделу Cache Reserve страницу.
Перейдите в Cache Reserve ↗ -
Выберите Включите синхронизацию хранилища.
См. API для изменения настройки Cache Reserve, где это описано подробнее.
Если вы являетесь клиентом тарифа Enterprise и заинтересованы в Cache Reserve, обратитесь в свою команду по работе с клиентами за помощью с настройкой.
Пригодность ресурсов для Cache Reserve
Не все ресурсы подходят для Cache Reserve. Чтобы попасть в Cache Reserve, ресурсы должны соответствовать следующим условиям:
- Быть пригодным для кэширования согласно стандартной для Cloudflare факторы кешируемости.
- Имеет время жизни (TTL) свежести не менее 10 часов (задано любым способом, например Cache-Control / CDN-Cache-Control заголовков ответа источника, Edge Cache TTL, Cache TTL By Status, или Cache Rules),
- Содержит заголовок ответа Content-Length.
- При использовании Image transformations, исходные файлы подходят для Cache Reserve, а изменённые по размеру варианты файлов не подходят, поскольку преобразования происходят уже после Cache Reserve в процессе формирования ответа.
Поведение при очистке
Чтобы удалить все данные из Cache Reserve, см. Кнопка очистки Cache Reserve.
Обратите внимание, что Полная очистка выполняет мягкую очистку Cache Reserve и не обновляет метаданные, заданные Cache Response Rules (например, теги кэша). Чтобы обновить эти метаданные, очистите отдельный ресурс или дождитесь его полного истечения срока действия.
Лимиты
- Ограничения на файлы Cache Reserve совпадают с Лимиты R2. Обратите внимание, что Ограничения кеша CDN по-прежнему применяются. Ресурсы, превышающие стандартные лимиты, не сохраняются в обычном кеше CDN, поэтому по ним операции Cache Reserve будут тарифицироваться значительно чаще.
- Запросы Range к источнику пока не поддерживаются в Cache Reserve.
- Vary for images в настоящее время несовместим с Cache Reserve.
- Запросы к Публичные бакеты R2, привязанные к домену зоны не будет использовать Cache Reserve. Если включить Cache Reserve для подключённой зоны, он будет применяться только к запросам, не предназначенным для бакета R2.
- Cache Reserve запрашивает несжатый контент напрямую с источника. В отличие от стандартного CDN Cloudflare, Cache Reserve не включает
Accept-Encoding: gzipзаголовок при отправке запросов источнику. - Cache Reserve пропускается при использовании Cloudflare O2O настройка.
Использование
Подобно стандартному CDN, Cache Reserve также использует cf-cache-status заголовок, чтобы указать статусы ответов кеша например MISS, HIT, а также REVALIDATED. Промахи и попадания Cache Reserve учитываются в показателе cache hit ratio дашборда.
Отдельные выборочные запросы, которые заполнили Cache Reserve или были обслужены из него, можно просмотреть через CacheReserveUsed поле Logpush.
Ежемесячные операции и объем хранения Cache Reserve можно посмотреть в панели управления.
Цены
Cache Reserve тарифицируется исходя из общего объема хранимых данных, а также двух категорий операций с этими данными:
- операции класса A которые обходятся дороже и, как правило, изменяют состояние.
- операции класса B которые обычно только считывают существующее состояние.
В большинстве случаев промах Cache Reserve приводит к одной операции класса A и одной операции класса B, а попадание Cache Reserve приводит к одной операции класса B. Для ресурсов размером более 1 ГБ количество операций возрастает пропорционально их размеру.
Стоимость Cache Reserve
| Частота | |
|---|---|
| Хранилище | $0.015 за ГБ-месяц |
| Операции класса A (запись) | $4.50 за миллион запросов |
| Операции класса B (чтение) | $0.36 за миллион запросов |
Использование хранилища
Хранилище оплачивается по метрике гигабайт-месяц (ГБ-месяц). Значение ГБ-месяц рассчитывается путём учёта общего объёма данных, хранившихся в течение месяца.
Например:
- Хранение 1 ГБ в течение 30 дней будет тарифицироваться как 1 ГБ-месяц.
- Хранение 2 ГБ в течение 15 дней будет тарифицироваться как 1 ГБ-месяц.
Операции
Операции выполняются Cache Reserve от имени пользователя для записи данных из источника в Cache Reserve и передачи этих данных далее в другие части сети Cloudflare. Эти операции обрабатываются Cloudflare внутренне.
операции класса A (запись)
Операции класса A выполняются при промахах кеша в CDN Cloudflare. Если запрос не удаётся обслужить из кеша, его получают у источника и записывают как в Cache Reserve, так и в наши edge-кеши на обратном пути к посетителю.
операции класса B (чтение)
Операции класса B выполняются, когда для ответа на промах в edge-кеше требуется получить данные из Cache Reserve.
Очистка
Очистка отдельных ресурсов выполняется бесплатно.
Cache Reserve очищается мгновенно вместе с edge-кешем при отправке запроса на очистку по URL. См. конфигурации кеша для получения подробностей.
Другие методы очистки, такие как очистка по тегу, имени хоста, префиксу или полная очистка, приведут к попытке повторно проверить при последующем запросе ресурса Cache Reserve. Обратите внимание, что за ресурсы, очищенные таким образом, плата за хранение будет по-прежнему взиматься до истечения их TTL хранения.
Примеры тарификации Cache Reserve
Пример 1
Если предположить, что в начале месяца в Cache Reserve записывается 1000 ресурсов (по 1 ГБ каждый) и каждый из них считывается 1000 раз, ориентировочная стоимость за месяц составит:
| Использование | Тарифицируемое количество | Цена | |
|---|---|---|---|
| Операции класса B | (1,000 ресурсов) * (1,000 чтений на ресурс) | 1,000,000 | $0.36 |
| Операции класса A | (1,000 ресурсов) * (1 запись на ресурс) | 1,000 | $4.50 |
| Хранилище | (1,000 ресурсов) * (1 ГБ на ресурс) | 1000 ГБ-месяцев | $15.00 |
| ИТОГО | $19.86 | ||
Пример 2
Если предположить, что в Cache Reserve хранится 1 000 000 ресурсов (по 1 МБ каждый), и при этом:
- каждый объект истекает и перезаписывается в Cache Reserve 1 раз в день
- каждый объект считывается 2 раза в день
ориентировочная стоимость за месяц составит:
| Использование | Тарифицируемое количество | Цена | |
|---|---|---|---|
| Операции класса B | (1,000,000 ресурсов) * (2 чтения в день) * (30 дней) | 60,000,000 | $21.60 |
| Операции класса A | (1,000,000 ресурсов) * (1 запись в день) * (30 дней) | 30,000,000 | $135.00 |
| Хранилище | (1,000,000 ресурсов) * (1 МБ на ресурс) | 1000 ГБ-месяцев | $15.00 |
| ИТОГО | $171.60 | ||
Советы и лучшие практики
Cache Reserve предназначен для использования с Tiered Cache включённый для максимальной защиты источника. Использование Cache Reserve без Tiered Cache может привести к более высоким расходам на операции хранения. Если вы попытаетесь включить Cache Reserve без Tiered Cache, панель управления Cloudflare предупредит вас об этом.
Cache Reserve Analytics
Cache Reserve Analytics дает представление об использовании Cache Reserve. С его помощью можно проверить, какой контент хранится в Cache Reserve, как часто к нему обращаются, как долго он там находится и сколько исходящего трафика с вашего источника это экономит.
В Обзор разделе, в Cache Reserve, вам доступны следующие метрики:
- Экономия исходящего трафика (пропускная способность) - это оценка, основанная на байтах ответов, отданных из Cache Reserve, которые не потребовалось запрашивать с вашего исходного сервера. Они учитываются как попадания в кэш.
- Запросы, обслуженные Cache Reserve - это количество запросов, обслуженных Cache Reserve (всего).
- Сводка по хранению данных - основано на репрезентативной выборке запросов. См. Сэмплирование с подробностями о том, как Cloudflare выполняет выборку данных.
- Текущий объем сохраненных данных - это объем данных, хранящихся (в настоящее время) с течением времени.
- Суммарное использование хранилища - это общий объем хранилища, использованный на выбранную метку времени.
- Операции - Операции класса A (запись) и класса B (чтение) с течением времени.
Кнопка очистки Cache Reserve
Все данные, хранящиеся в Cache Reserve, можно удалить через панель управления или через API. Чтобы очистить Cache Reserve:
- Cache Reserve уже должен быть включен для зоны.
- Cache Reserve должен быть отключен.
Учитывайте, что удаление может занять до 24 часов.
-
На панели управления Cloudflare перейдите к разделу Cache Reserve страницу.
Перейдите в Cache Reserve ↗ -
В Удаление данных Cache Reserve, выберите Удаление хранилища.
Чтобы удалить данные Cache Reserve через API, используйте следующие примеры запросов. Дополнительную информацию см. в Документация по API.
Запрос 1: получение статуса Cache Reserve
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Zone Settings WriteZone Settings ReadZone ReadZone Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": {
"editable": true,
"id": "cache_reserve",
"value": "off"
},
"success": true,
"errors": [],
"messages": []
}Если Cache Reserve отключен, можно переходить к операции Cache Reserve Clear.
Запрос 2: запуск очистки Cache Reserve
Необходимые разрешения API-токена
Хотя бы одно из следующих права доступа токена требуется:Zone Settings WriteZone Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/cache/cache_reserve_clear" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": {
"id": "cache_reserve_clear",
"start_ts": "2024-06-02T10:00:00.12345Z",
"state": "In-progress"
},
"success": true,
"errors": [],
"messages": []
}