Max*_*kyi 5 javascript caching angularjs
假设我有一个检索标签列表的服务,我将标签存储在缓存中:
function TagsRetriever() {
var cache = $cacheFactory("tags");
function getTags() {
var cached = cache.get("tags");
if (cached) {
return cached;
} else {
return $http.get("url/getTags").then(function (tags) {
cache.put("tags", tags);
});
}
}
}
Run Code Online (Sandbox Code Playgroud)
使缓存失效的常用方法是什么?我应该将它与当前日期进行比较吗?angular是否提供任何缓存失效机制?
使用cacheFactory而不是保存缓存的变量有什么好处?
你可以检查辉煌的角度缓存,这将阻止你用 $cacheFactory 重新发明轮子(它只提供简单的存储,有时就足够了)。
这就是它处理缓存失效的方式(手册中的示例):
CacheFactory('profileCache', {
maxAge: 60 * 60 * 1000 // 1 hour,
deleteOnExpire: 'aggressive',
onExpire: function (key, value) {
$http.get(key).success(function (data) {
profileCache.put(key, data);
});
}
});
Run Code Online (Sandbox Code Playgroud)
使用cacheFactory代替保存缓存的变量有什么好处?
除此之外,它还建立了可测试的服务来实现LRU并为您节省几行代码?没有什么。
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |