Angularjs:$ cacheFactory的日期到期

时间:2013-03-27 10:39:04

标签: caching angularjs browser-cache

我已使用$ cacheFactory在我的应用程序中添加了缓存,但是当用户关闭浏览器然后重新打开时,有关浏览产品的缓存数据已过期。

有没有办法让它更长?提出过期日期或类似的事情?

感谢。

编辑:我可能不得不使用Breeze.js,但在此之前我想知道是否有人知道是否可以使用angularjs(我读了API)并且没有关于它的信息:S)。

编辑2:以提供帮助,我使用$ cacheFactory的方式就像这个JSFiddle code

factory('SomeCache', function($cacheFactory) {
    return $cacheFactory('someCache', {
        capacity: 3 // optional - turns the cache into LRU cache
    });
}).

编辑3: Lawnchair不是一个选项,它存储在javascript数组中,并且在关闭浏览器后不会保留数据..

1 个答案:

答案 0 :(得分:7)

$ cacheFactory使用内存中的浏览器存储,这意味着即使页面刷新也不会存在,更不用说关闭并重新打开浏览器了。

如果要跨页面加载和浏览器会话缓存数据,则需要查找localStorage。请看这里一个非常简单的例子:

http://jsbin.com/acokis/2/edit

我认为您需要查看amplify.jslawnchair.js,因为它们为管理localStorage提供了很好的包装,同时还为不支持localStorage的浏览器提供了回退适配器(后备选项赢了'但仍然可以在页面刷新时保持不变。