При использовании angular-cache есть ли преимущество использования Angular LocalStorageModule?
Angular-кеш может быть настроен так:
app.service('myService', function ($angularCacheFactory) {
// This cache will sync itself with localStorage if it exists, otherwise it won't. Every time the
// browser loads this app, this cache will attempt to initialize itself with any data it had
// already saved to localStorage (or sessionStorage if you used that).
var myAwesomeCache = $angularCacheFactory('myAwesomeCache', {
maxAge: 900000, // Items added to this cache expire after 15 minutes.
cacheFlushInterval: 3600000, // This cache will clear itself every hour.
deleteOnExpire: 'aggressive', // Items will be deleted from this cache right when they expire.
storageMode: 'localStorage' // This cache will sync itself with `localStorage`.
});
});
Из того, что я понимаю, если для storageMode задано значение localStorage, то оно выполняет резервное копирование в собственное хранилище.
Я уже использую угловой LocalStorageModule для других вещей.
Есть ли у меня какие-либо преимущества в настройке localStoragePolyfill и использовании LocalStorageModule?
1 ответ
Я бы сказал, что наиболее мощное использование Cache
сотрудничать с LocalStorage
можно найти здесь: .put(key, value, options)
Как видите, третий параметр, это options
параметр для этой пары ключ-значение, а не для всего экземпляра кэша.
Таким образом, мы можем назвать это так
myAwesomeCache.put('someItem'
, 'someValue'
, { storageMode: 'localStorage', storageImpl: myLocalStoragePolyfill });
где myLocalStoragePolyfill
наша оболочка локального хранилища? или мы можем просто использовать встроенный обработчик и передать его как { storageMode: 'localStorage' }
Итак, каково это, каково реальное преимущество? мы можем кэшировать некоторые действительно стабильные, постоянные настройки (если они есть). Примером могут служить метаданные, сложная конфигурация для приложения, которая вряд ли может измениться.
Итак, в случае, если мы знаем, что что- то почти статично, у нас есть простой способ, как использовать стандартный кеш, одновременно улучшая производительность...
ПРИМЕЧАНИЕ: локальное хранилище не совпадает с кешем памяти. Он хранит объекты типа JSON. Нет методов! просто строковое представление