Spec-Zone.ru › Deno 2

Cache

Инструменты для кэширования и управления данными. Сохраняйте данные в кэше и извлекайте их, управляйте ограничениями хранилища кэша и обрабатывайте связанные с кэшем события.

Например, caches


интерфейс Cache

Представляет отдельное хранилище с именем для пар Request/Response. Получите Cache с помощью CacheStorage.open и используйте его для сохранения ответов и последующего сопоставления с ними входящих запросов.

Методы

put(
request: RequestInfo | URL,
response: Response,
): Promise<void>

Помещает указанные запрос и ответ в кэш.

Чем этот API отличается от API браузеров?

  1. Нельзя сопоставлять объекты кэша, используя относительные пути.
  2. Нельзя передавать такие параметры, как ignoreVary, ignoreMethod, ignoreSearch.
match(
request: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<Response | undefined>

Возвращает объект кэша, соответствующий указанному запросу.

Чем этот API отличается от API браузеров?

  1. Нельзя сопоставлять объекты кэша, используя относительные пути.
  2. Нельзя передавать такие параметры, как ignoreVary, ignoreMethod, ignoreSearch.
delete(
request: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<boolean>

Удаляет объект кэша, соответствующий указанному запросу.

Чем этот API отличается от API браузеров?

  1. Нельзя удалять объекты кэша, используя относительные пути.
  2. Нельзя передавать такие параметры, как ignoreVary, ignoreMethod, ignoreSearch.
keys(
request?: RequestInfo | URL,
options?: CacheQueryOptions,
): Promise<ReadonlyArray<Request>>

Возвращает ключи Request, сохранённые в кэше, в порядке добавления. Если указан request, возвращаются только соответствующие ключи.

Чем этот API отличается от API браузеров?

  1. Нельзя сопоставлять объекты кэша, используя относительные пути.
  2. Нельзя передавать такие параметры, как ignoreVary, ignoreMethod, ignoreSearch.

переменная Cache

Объект-конструктор для Cache.

Экземпляры Cache получают с помощью CacheStorage.open, а не создают напрямую, поэтому вызов конструктора приводит к ошибке.

Свойства

prototype: Cache
только для чтения

интерфейс CacheQueryOptions

Свойства

ignoreMethod: boolean
необязательное
ignoreSearch: boolean
необязательное
ignoreVary: boolean
необязательное

интерфейс CacheStorage

Представляет хранилище для объектов Cache с именами. Предоставляет методы для открытия, перечисления, поиска и удаления кэшей; доступ к нему осуществляется через глобальное свойство caches.

Методы

open(cacheName: string): Promise<Cache>

Открывает хранилище кэша с указанным именем.

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

расширяет CacheQueryOptions

Свойства

cacheName: string
необязательное

переменная caches

Глобальный экземпляр CacheStorage, предоставляющий доступ к именованным объектам Cache, используемым для сохранения и получения пар Request/Response.

Тип

CacheStorage

Предоставляет доступ к 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;
}

Тип

CacheStorage

См. также

  • https://developer.mozilla.org/en-US/docs/Web/API/Window/caches


© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/web/cache

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API