Кэширование $ $: в чем разница между кешем: true и кешем: obj

0

Как указано в заголовке, я использую объект $ resource для выполнения запроса GET.

Может ли кто-то, у кого есть глубокие знания, объяснить разницу при настройке кеша: true

query: {
    method: 'GET',
    cache: true
}

VS имеет что-то вроде:

var theCache = $cacheFactory('myCache');

и используя этот объект кеша на ресурсе, сделав это:

query: {
    method: 'GET',
    cache: theCache
}
Теги:
caching

1 ответ

0

Передавая true параметр, вы говорите, что хотите использовать кеш-память по умолчанию (глобальный) $http, что означает, что ответ будет кэшироваться, и каждый следующий запрос выполняется через $http или $resource (что является абстракцией высокого уровня над $http) будет обслуживаться из кеша (без дополнительных запросов к серверу). Ключом для этого запроса в кеше $http является URL полного пути. Вы можете получить экземпляр кеша по умолчанию $http с помощью $cacheFactory:

var cache = $cacheFactory.get('$http');

Теперь, если вы хотите создать кэш ресурсов, который вы создаете, используя $cacheFactory и скажите $http или $resource чтобы использовать его:

var myCache = $cacheFactory.get('myCache');

$http.get('/api/users.json', {
    cache: myCache
});

// or 

$resource('/api/users.json', null, {
        query: { cache: myCache }
});

Таким образом, никакие другие запросы больше не будут использовать этот кеш. Кроме того, вы можете указать capacity этого кеша при его capacity или очистить его, когда это необходимо, без влияния на другую службу.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню