Page 401 - AngularJS权威教程
P. 401
28.2 Angular 中的缓存 381
19
第28章 20
缓 存
21
22
在大型的、互联网规模的Web应用中,限制从客户端调用API的能力使我们能够创建可伸缩
的Web应用。 23
这不仅让前端呈现更快、更具响应性,还通过减少后端工作量的方式保护了后端。这样,后 24
端就可以在前端服务于更多的用户。
28.1 什么是缓存 25
一个缓存就是一个组件,它可以透明地存储数据,以便未来可以更快地服务于请求。缓存不 26
需要时常重新计算的数据是安全的,而重新获取数据会导致数据重复。
缓存能够服务的请求越多,整体系统性能就提升得越多。 27
传统的缓存服务器,比如Memcache,可以是为客户端内容提供服务的同一系统或者是远程
系统。归根结底都是在服务器容量和流量这些选项之间作出选择。 28
根据内容的易变性,我们可以将精力集中于存储那些需要长期存储的缓存内容(比如,存储
在磁盘中或者对于短期存储的内容就保存在内存中)。 29
缓存就像一个很大的键值存储。一个键指向一块缓存的内容。当请求这部分内容时,如果
在缓存中找到这个键并发现它有效(即命中缓存),那么就为这个请求提供相关内容。 30
如果没有这个键(即没找到缓存内容),那么缓存服务器就需要知道如何获取相关数据,存
储它,然后为原始请求返回数据。 31
本章,我们将讨论Angular中的缓存策略,包括如何为服务器端内容设置memcache(轻量级
的)以及使用Angular内置的缓存机制。它提供了一些很棒的库供我们使用。 32
28.2 Angular 中的缓存
33
Angular提供的内置缓存服务是一个很方便的特性,它让我们能够使用同一机制来缓存自定
义内容。 34
28.2.1 $cacheFactory 简介 35
$cacheFactory是一个为所有Angular服务生成缓存对象的服务。在内部,$cacheFactory会
创建一个默认的缓存对象,即使我们并没有显示地创建。 36