0

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

4

2 回答 2

3

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

这可以在这里看到

文档声明您可以向调用提供选项对​​象,$cacheFactory指定容量参数,将其转换为 LRU 缓存。这意味着如果满足容量,则删除最近使用的缓存。

如果您不提供使用 then 的容量Number.MAX_VALUE,请参见此处

所以总的来说是的。它要么是用户在创建缓存时强加的,要么是根据MDN规定的 JavaScript 可用的最大数量。

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

于 2016-03-18T09:40:56.783 回答
1

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

不,因为 $cacheFactory 将在会话关闭后销毁所有数据。或者,如果您想手动刷新,则可以使用 destroy 方法。

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

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

2. 我可以缓存我所有的 API 响应吗?

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

  1. $localStorage - 如果您的目标是存储客户端和持久数据。
  2. $cacheFactory - 数据只存在于当前会话。
于 2016-03-18T10:25:50.330 回答