Page 402 - AngularJS权威教程
P. 402
382 第 28 章 缓存
要创建一个缓存对象,可以使用$cacheFactory通过一个ID创建一个缓存:
var cache = $cacheFactory('myCache');
这里,定义了一个ID为myCache的缓存。这个$cacheFactory方法可以接受两个参数:
cacheId (字符串):这个cacheId就是创建缓存时的ID名称。可以通过get()方法使用缓存
名称来引用它。
options (对象):这个选项用于指定缓存如何表现。一般情况下,这个选项对象是一个键:
capacity (数字)
这个容量描述了在任何给定时间要使用缓存存储并保存的缓存键值对的最大数量。
$cacheFactory()方法返回一个缓存对象。
28.2.2 缓存对象
缓存对象自身有下列这些方法可以用来与缓存交互。
info():info()方法返回缓存对象的ID、尺寸和选项。
put():put()方法允许我们把任意JavaScript对象值形式的键(字符串)放进缓存中。
cache.put("hello","world");
put()方法会返回我们放入缓存中的值。
get():get()方法让我们能够访问一个键对应的缓存值。如果找到了这个键,它会返回它的
值;如果没有找到,它会返回undefined。
cache.get("hello");
remove():remove()函数用于在找到一个键值对的情况下从缓存中移除它。如果没有找到,
它就会返回undefined。
cache.remove("hello");
removeAll():removeAll()函数用于重置缓存,同时移除所有已缓存的值。
destory():destory()方法用于从$cacheFactory缓存注册表中移除指定缓存的所有引用。
28.3 $http 中的缓存
Angular的$http服务创建了一个带有ID为$http的缓存。(很意外,对吗?)要让$http请求
使用默认的缓存对象很简单:$http()方法允许我们给它传递一个cache参数。
28.3.1 默认的$http缓存
当数据不会经常改变时,默认的$http缓存就特别有用了。可以像这样设置它: