我使用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。因此,出于某种原因,尽管文档承诺相反,但角度缓存不会删除最旧的项目。
那么,我做错了什么或者是否存在角度缓存中的错误?
答案 0 :(得分:0)
好的,这是角度缓存中的一个错误,现在已经在4.4.3版本中修复了,请参阅https://github.com/jmdobry/angular-cache/issues/210
安装更新后,我的应用按预期运行。