国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

AngularJS中的緩存使用

2019-11-19 18:00:13
字體:
來源:轉載
供稿:網友

緩存篇

一個緩存就是一個組件,它可以透明地儲存數據,以便以后可以更快地服務于請求。多次重復地獲取資源可能會導致數據重復,消耗時間。因此緩存適用于變化性不大的一些數據,緩存能夠服務的請求越多,整體系統性能就能提升越多。

$cacheFactory與緩存對象

$cacheFactory是一個為Angular服務生產緩存對象的服務。要創建一個緩存對象,可以使用$cacheFactory通過一個ID和capacity。其中,ID是一個緩存對象的名稱,capacity則是描述緩存鍵值對的最大數量。舉個生動的例子,$cacheFactory就是包租婆,她有一棟樓,里面有大大小小的房子可以出租,只要你給夠錢,包租婆就會把房子租給你(獲得緩存對象),這個房子包括了它的房號(ID)和房間的大小(capacity-容量)。

var myCache = $cacheFactory('myCache');

其中,緩存對象擁有以下幾種方法

1. myCache.info() 返回緩存對象的ID,尺寸和選項

2. myCache.put() 新值鍵值對并放入緩存對象中 myCache.put("name", "Ben")

3. myCache.get() 返回對應的緩存值,若沒有找到則返回undefined myCache.get("name")

4. myCache.remove() 把鍵值對從對應緩存對象中移除 myCache.remove("name")

5. myCache.remvoeAll() 清空該緩存對象

$http中的緩存

$http()方法允許我們傳遞一個cache參數。當數據不會經常改變的時候,默認的$http緩存會特別有用。其中,默認的$http緩存對象是 var cache = $cacheFactory('$http'); 可以這樣設置它

$http({   method: 'GET',   url: 'api/user.json',   cache: true})

其中,緩存的鍵值為url, var userCache = cache.get('api/user.json')

自定義緩存

通過自定義的緩存來讓$http發起請求也很簡單,只需把cache值設為對應緩存對象名稱即可

$http({   method: 'GET',   url: 'api/user.json',   cache: myCache})

或者通過config配置來設置每個$http請求的緩存對象,而不必像上面的例子中,往每一個$http請求中加入配置

app.config(function($httpProvider){$httpProvider.defaults.cache = $cacheFactory('myCache',{capacity: 20})

其中,capacity會使用"近期緩存最久未使用算法",就是說,加如緩存容量為20,現在已經緩存了緩存20個,當第21個想要被緩存的時候,最久最小未被使用的緩存鍵值對會被清除,以便騰出空間容納第21個緩存。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 闸北区| 平利县| 保康县| 沁源县| 卫辉市| 方正县| 仙居县| 鄄城县| 陇南市| 龙游县| 洛阳市| 贺兰县| 静乐县| 且末县| 治多县| 京山县| 阳曲县| 讷河市| 沂南县| 蒲城县| 襄樊市| 隆昌县| 榆社县| 新兴县| 阿克苏市| 东乡族自治县| 丽江市| 资源县| 禹州市| 吴川市| 德庆县| 开鲁县| 金川县| 新宁县| 顺昌县| 西盟| 锡林浩特市| 延津县| 建水县| 万州区| 玉龙|