角度缓存可以设置如下:
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有什么好处吗?
答案 0 :(得分:1)
我想说,Cache
与LocalStorage
合作的最强大用法可以在这里找到:.put(key, value, options)
如您所见,第三个参数是options
,此键和值对的设置,整个缓存实例的不是。
所以我们可以像这样称呼它
myAwesomeCache.put('someItem'
, 'someValue'
, { storageMode: 'localStorage', storageImpl: myLocalStoragePolyfill });
其中myLocalStoragePolyfill
是我们本地存储的包装器?或者我们可以使用内置处理程序并像{ storageMode: 'localStorage' }
所以,有了这个,真正的优势是什么?我们可以缓存一些非常稳定,恒定的设置(如果有的话)。一个例子可能是一些元数据,应用程序的复杂配置,几乎无法改变。
所以,以防,我们知道,某些东西几乎是静态的,我们有简单的方法如何使用标准缓存,而提高绩效 ......
注意:本地存储与内存缓存不同。它存储JSON类型的对象。没方法!只是字符串表示