При использовании 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. Нет методов! просто строковое представление

Другие вопросы по тегам