发表于: 2017-07-18 22:21:43

1 804


今天完成的事情:


看了一下缓存


一个缓存就是一个组件,它可以透明的存储数据,以便未来可以更快地服务于请求。缓存不需要时常重新计算的数据是安全的,而重新获取数据会导致数据重复。

缓存能够服务的请求越多,整理系统性能就提升得越多。


$cacheFactory是一个为所有angular服务生成缓存对象的服务。在内部,$cacheFactory会创建一个默认的缓存对象,即使我们并没有显示地创建。


要创建一个缓存对象,可以使用$cacheFactory通过一个ID创建一个缓存:

var cache = $cacheFactory('myCache');

这里定义了一个ID为“myCache”的缓存。这个$cacheFactory方法可以接受两个参数:

1.cacheId(字符串):这个cacheId就是创建缓存时的ID名称,即上面的“myCache”。可以通过get()方法使用缓存名称来引用它。

2.options(对象):这个选项用于指定缓存如何表现。一般情况下,这个选项对象是一个键:capacity(数字),这个容量描述了在任何给定时间要使用缓存存储并保存的缓存键值对的最大数量。

$cacheFactory()方法返回一个缓存数组。


缓存对象

缓存对象自身有下列方法可以用来与缓存交互:

对象的使用方式如下(以info示例):

cache.info()

info():info()方法返回缓存对象的ID,尺寸和选项。

put():put()方法允许我们把任意JavaScript对象值形式的键(字符串)放进缓存中。比如cache.put(“hello”,”world”)

get():get()方法让我们能够访问一个键对应的缓存值。如果找到了这个键,它会返回它的值,如果没哟找到,它会返回undefined。cache.get(“hello”)

remove():remove()函数用于在找到一个键值对的情况下从缓存中移除它。如果没有找到,返回undefined。

removeAll():removeAll()函数用于重置缓存,同时移除所有已缓存的值。

destory():destory()方法用于从$cacheFactory缓存注册表中移除指定缓存的所有引用。


$http缓存

angularJS的$http服务创建了一个带有ID为$http的缓存。要让$http请求使用默认的缓存对象很简单:$http方法允许我们给它传递一个cache参数。

也就是说,$http缓存默认是打开的。


当数据不会经常改变时,默认的$http缓存就特别有用了。可以像这样设置它:

$http({

method:"GET",

url:'/api/user',

cache:true

})

或者使用辅助方法.get()

$http.get('/api/user',{

cache:true

})

现在,通过$http到URL /api/user的每个请求将会存储到默认的$http缓存中。这个$http缓存中的请求键就是完整的URL路径。

 

通过在$http选项中传入参数true,可以告诉$http服务使用默认的缓存。如果我们不想经常干扰那些缓存,使用默认缓存时很有用的。


明天计划的事情:

收尾,计划做上传图片,做小课堂


问题:

通过搜索按钮搜索,可能搜索结果只显示一页,但是当前页不是第一页。


收获:

一些基础知识很重要。



返回列表 返回列表
评论

    分享到