他们对AngularJS $ cacheFactory有任何大小限制吗?

时间:2016-03-18 09:27:29

标签: angularjs cachefactory

我是否应该考虑不时刷新缓存?或者我可以缓存我的所有API响应?

2 个答案:

答案 0 :(得分:3)

查看源代码,缓存只是一个对象。您提供了一个键和值,它通过您的键为该对象添加一个属性,为其赋值。

可以看到here

docs状态,您可以为Number.MAX_VALUE调用提供选项对​​象,指定容量参数将其转换为LRU缓存。意味着如果满足容量,则删除最近使用的最后一个缓存。

如果您未提供容量,则使用<select class="my_class" name="example"> <option selected="selected" value="">Choose something ...</option> <option value="1" class="some_class">Hello</option> <option value="2" class="some_class">World</option> </select> ,请参阅here

总结是的。它是用户在创建缓存时强加的,或者是MDN JavaScript可用的最大数量。

  

MAX_VALUE属性的值约为1.79E + 308。

答案 1 :(得分:1)

1. 我是否应该考虑不时刷新缓存?

没有。因为$ cacheFactory会在会话关闭后销毁所有数据。或者如果你想手动冲洗,那么你可以使用破坏方法。

destroy() - 从$ cacheFactory中删除对此缓存的引用。

removeAll() - 删除所有缓存的值。

<强> 2。我可以缓存所有API响应吗?

这可以通过以下两种方式实现。

  1. $ localStorage - 如果您的目标是存储客户端和持久数据。
  2. $ cacheFactory - 仅存在当前会话的数据。