Cache
Инструменты для кэширования и управления данными. Сохраняйте данные в кэше и извлекайте их, управляйте ограничениями хранилища кэша и обрабатывайте связанные с кэшем события.
Например, caches
интерфейс Cache
Представляет отдельное хранилище с именем для пар Request/Response. Получите Cache с помощью CacheStorage.open и используйте его для сохранения ответов и последующего сопоставления с ними входящих запросов.
Методы
put(
request: RequestInfo | URL,
response: Response,
): Promise<void> Помещает указанные запрос и ответ в кэш.
Чем этот API отличается от API браузеров?
- Нельзя сопоставлять объекты кэша, используя относительные пути.
- Нельзя передавать такие параметры, как
ignoreVary,ignoreMethod,ignoreSearch.
match(
request: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<Response | undefined> Возвращает объект кэша, соответствующий указанному запросу.
Чем этот API отличается от API браузеров?
- Нельзя сопоставлять объекты кэша, используя относительные пути.
- Нельзя передавать такие параметры, как
ignoreVary,ignoreMethod,ignoreSearch.
delete(
request: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<boolean> Удаляет объект кэша, соответствующий указанному запросу.
Чем этот API отличается от API браузеров?
- Нельзя удалять объекты кэша, используя относительные пути.
- Нельзя передавать такие параметры, как
ignoreVary,ignoreMethod,ignoreSearch.
keys(
request?: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<ReadonlyArray<Request>> Возвращает ключи Request, сохранённые в кэше, в порядке добавления. Если указан request, возвращаются только соответствующие ключи.
Чем этот API отличается от API браузеров?
- Нельзя сопоставлять объекты кэша, используя относительные пути.
- Нельзя передавать такие параметры, как
ignoreVary,ignoreMethod,ignoreSearch.
переменная Cache
Объект-конструктор для Cache.
Экземпляры Cache получают с помощью CacheStorage.open, а не создают напрямую, поэтому вызов конструктора приводит к ошибке.
Свойства
интерфейс CacheQueryOptions
Свойства
ignoreMethod: boolean ignoreSearch: boolean ignoreVary: boolean интерфейс CacheStorage
Методы
has(cacheName: string): Promise<boolean> Проверяет, существует ли кэш с указанным именем.
delete(cacheName: string): Promise<boolean> Удаляет хранилище кэша с указанным именем.
keys(): Promise<string[]> Возвращает массив всех имён кэшей, отслеживаемых хранилищем кэша.
match(
request: RequestInfo | URL,
options?: MultiCacheQueryOptions,
): Promise<Response | undefined> Проверяет, является ли заданный Request или строка URL ключом сохранённого объекта Response. Возвращает соответствующий Response или undefined, если совпадение не найдено.
Если указан options.cacheName, поиск выполняется только в кэше с этим именем. В противном случае поиск выполняется во всех кэшах в порядке их создания.
переменная CacheStorage
Объект-конструктор для CacheStorage.
Доступ к экземпляру CacheStorage осуществляется через глобальное свойство caches, а не путём его прямого создания, поэтому вызов конструктора приводит к ошибке.
Свойства
prototype: CacheStorage интерфейс MultiCacheQueryOptions
Свойства
cacheName: string переменная caches
Глобальный экземпляр CacheStorage, предоставляющий доступ к именованным объектам Cache, используемым для сохранения и получения пар Request/Response.
Тип
Предоставляет доступ к Cache API. Возвращает объект CacheStorage, позволяющий сохранять, извлекать и управлять парами запрос/ответ в кэше.
Примеры
// Open (or create) a cache
const cache = await caches.open('v1');
// Store a response
await cache.put('/api/data', new Response('Hello World'));
// Retrieve from cache with fallback
const response = await caches.match('/api/data') || await fetch('/api/data');
// Delete specific cache
await caches.delete('v1');
// List all cache names
const cacheNames = await caches.keys();
// Cache-first strategy
async function fetchWithCache(request) {
const cached = await caches.match(request);
if (cached) return cached;
const response = await fetch(request);
const cache = await caches.open('v1');
await cache.put(request, response.clone());
return response;
}
Тип
См. также
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/web/cache