使用角度缓存时,使用Angular LocalStorageModule有什么好处吗?

时间:2014-01-22 14:57:21

标签: javascript angularjs angular-local-storage angular-cache

角度缓存可以设置如下:

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',那么它会处理备份到localstorage本身。

我已经将角度LocalStorageModule用于其他方面。

设置localStoragePolyfill和使用LocalStorageModule有什么好处吗?

1 个答案:

答案 0 :(得分:1)

我想说,CacheLocalStorage合作的最强大用法可以在这里找到:.put(key, value, options)

如您所见,第三个参数是options,此键和值对的设置,整个缓存实例的不是

所以我们可以像这样称呼它

myAwesomeCache.put('someItem'
  , 'someValue'
  , { storageMode: 'localStorage', storageImpl: myLocalStoragePolyfill });

其中myLocalStoragePolyfill是我们本地存储的包装器?或者我们可以使用内置处理程序并像{ storageMode: 'localStorage' }

一样传递它

所以,有了这个,真正的优势是什么?我们可以缓存一些非常稳定,恒定的设置(如果有的话)。一个例子可能是一些元数据,应用程序的复杂配置,几乎无法改变。

所以,以防,我们知道,某些东西几乎是静态的,我们有简单的方法如何使用标准缓存,而提高绩效 ......

注意:本地存储与内存缓存不同。它存储JSON类型的对象。没方法!只是字符串表示