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
   396   397   398   399   400   401   402   403   404   405   406