为什么angular-cache忽略容量配置?

时间:2015-12-30 15:29:05

标签: javascript angularjs html5 caching

我使用angular-cache和localStorage在html5中本地保存文章。 documentation states有一个名为“capacity”的选项:

  

容量

     

缓存可容纳的最大项目数。添加更多项目   比容量会导致缓存像LRU缓存一样运行,   删除最近最少使用的项目以保持容量。   默认值:Number.MAX_VALUE。

由于我只想存储最多20篇文章,所以我这样配置:

CacheFactory('articleCache', {
  storagePrefix : 'my.news.',
  capacity : 20,
  storageMode: 'localStorage'
});

当我想获取数据时,我只是这样做:

$http.get(url, {cache: CacheFactory.get('articleCache')});

使用我的应用程序一段时间后,我突然发现它已停止工作,因为已达到localStorage限制配额。当我打印console.log(localStorage)时,我看到有超过20篇文章存储到localStorage。因此,出于某种原因,尽管文档承诺相反,但角度缓存不会删除最旧的项目。

那么,我做错了什么或者是否存在角度缓存中的错误?

1 个答案:

答案 0 :(得分:0)

好的,这是角度缓存中的一个错误,现在已经在4.4.3版本中修复了,请参阅https://github.com/jmdobry/angular-cache/issues/210

安装更新后,我的应用按预期运行。