如何在HTML5中实现应用程序范围的内存缓存
How to implement an app wide in-memory cache in HTML5?
有没有一种方法可以为HTML5 web应用程序实现应用程序范围的内存缓存?
有没有HTML5功能可以在内存中缓存数据?我不是说浏览器缓存,它只存储服务器响应。我需要缓存更高效的对象。
我能想到的一种可能性是实现一个全局单例JavaScript对象,该对象将在应用程序的生命周期内创建一次,这样它就可以处理缓存和检索数据。如果这是唯一的方法,那么如何创建这样一个单例对象呢?
这里有一个非常简单的单例,没有太多强制执行。它可以用一种真正受保护的方式来完成,在这种情况下,Cache构造函数不能真正被外部世界访问,如果感兴趣,请告诉我。
function Cache() {
if ("instance" in arguments.callee)
throw "new instance is not desired";
var simpleCache = {};
this.set = function(key, data) {
simpleCache[key] = data;
};
this.get = function(key) {
return simpleCache[key];
};
};
Object.defineProperty(Cache, "instance", { value: new Cache(), writable: false });
现在你可以按预期呼叫:
Cache.instance.set("key1", { a: "field1Value", b:12 });
Cache.instance.set("key2", new XMLHttpReuquest());
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 在对象数组中查找多个值的d3范围
- 动态加载angularjs并生成控制器和范围
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在Materialize Calendar中设置年份范围
- 在MVVM视图模型中处理应用程序范围的元素
- setInterval游戏循环的范围问题
- AngularJS获取范围中的选定项目
- 从指定范围创建字符数组
- 递归承诺调用 - 内存范围变量问题
- JavaScript 中全局范围内存在未定义变量的原因是什么?
- 如何在上次看到的页面上保留内存中的 dom 和范围
- 如何在HTML5中实现应用程序范围的内存缓存
- 如何在javascript中进行内存范围界定