Page 404 - AngularJS权威教程
P. 404
384 第 28 章 缓存
28.4 为$http 设置默认缓存
尽管这很容易,但是每次我们想要发起一个$http请求时都要给它传递一个缓存实例并不方
便,特别是对每个请求使用同一缓存的时候。
其实可以在模块的.config()方法中通过$httpProvider设置$http默认使用的缓存对象。
angular.module('myApp', []).config(function($httpProvider) {
$httpProvider.defaults.cache = $cacheFactory('myCache', {capacity: 20});
});
这个$http服务不再使用它为我们创建的默认缓存;它会使用我们自定义的缓存,实际上这
①
就是一个近期缓存最久未使用算法 (Least Recently Used,LRU)。
LRU缓存根据缓存容量只保留最新的缓存数目。也就是说,我们的缓存容量为20,
因此会缓存前20个请求,但是进入第21个请求时,最近最少使用的请求条目就会从缓存
中被删除。这个缓存自身会负责具体哪些要维护,哪些要移除。
——————————
① LRU是一种高速缓存算法。基于这个算法丢弃最近最少使用的缓存。参考:维基百科:LRU(en.wikipedia.org/wiki/
Least_Recently_Used#LRU)。——译者注