说到缓存一般针对后台缓存数据,提高数据查询效率,减少响应时间。不过在前端开发中也会遇到一些需要缓存数据的时候,比如说存储页面查询条件翻页数据、全局变量等,如果小的数据可以存储在cookies中,但是数据多了就不行了,下面介绍下前台缓存的简单实现:
/** * cache 类定义,cache对象在main.jsp 中定义 * @param {Object} scope * @memberOf {TypeName} * @return {TypeName} */ var BaseCache = function(scope){ this.scope = scope; this.gloableCache = this._getPrmGoableCache(); //init if(this.gloableCache){ if(this.gloableCache[this.scope] == undefined){//全局cache,所以不会重新生成cache this.gloableCache[this.scope] = {}; } } }
定义一个构造函数,不同的功能有不同的缓存,定义缓存基本方法
BaseCache.prototype = { _getPrmGoableCache : function(){ if(top===self){//topest window if(window.prmGloableCache){ return window.prmGloableCache; } }else{ var p=parent; while(p){ if(p.prmGloableCache|| p.top==p.self){ break; }else{ p=p.parent; } } if(p.prmGloableCache){ return p.prmGloableCache; } } }, put:function(key, value){ if(this.gloableCache && this.gloableCache[this.scope]){ this.gloableCache[this.scope][key] = value; } }, get:function(key){ if(this.gloableCache && this.gloableCache[this.scope]){ return this.gloableCache[this.scope][key]; } }, clear:function(){ if(this.gloableCache && this.gloableCache[this.scope]){ return this.gloableCache[this.scope] = {}; } }, clearByKey:function(key){ if(this.gloableCache && this.gloableCache[this.scope]){ delete this.gloableCache[this.scope][key]; } } };
下面举个例子来使用该缓存,比如说缓存页面查询条件:
var paramEchoCache = new BaseCache("paramEcho"); //保存form查询条件 $.fn.saveQueryParam = function(){ $(this).each(function(i){//一个页面上可能有多个form var forms = paramEchoCache.get(window.location.href); if(forms == undefined){ forms = {}; paramEchoCache.put(window.location.href,forms); } forms[$(this).attr('id')] = $(this).serializeArray(); }); } //获取查询条件 $.fn.getQueryParam = function(){ var forms = paramEchoCache.get(window.location.href); if(forms){ var fields = forms[$(this).attr('id')]; if(fields){ return serializeJson(fields); } } return {}; }
在查询后,调用form.saveQueryParam来保存查询条件,在返回需要回显查询条件时,调用 getQueryParam()。
相关推荐
这些应用往往需要处理大量数据,并实时更新显示,因此前端数据缓存技术变得越来越重要。本文将深入探讨JS前端数据缓存的原理、实现方式及其在富交互场景中的应用。 首先,前端数据缓存的主要目标是减少网络请求,...
npm-storage 是一个轻量级的前端存储解决方案,它基于浏览器的本地存储机制(如localStorage或sessionStorage),并提供了一种方便的方式来管理和更新缓存数据。这个插件尤其适合那些需要处理大量静态资源或动态数据...
在前端开发中,缓存是一种优化策略,用于存储经常访问的数据,以减少网络请求,提高应用性能。"轻量级前端缓存工具"是专为JavaScript环境设计的一个小型库,它对浏览器内置的`localStorage`进行了封装,以提供更便捷...
"JSRepository_前端资源缓存版本库_" 提供了一种有效的方法来管理和更新这些资源,特别是当应用涉及大量的音频、图像、小视频、JavaScript 文件或数据对象时。这个库利用了浏览器的indexDB API,它是一种离线存储...
在现代Web开发中,前端缓存数据是一种常见需求,可以有效提升用户体验和减少服务器负载。然而,缓存数据必然涉及一个定时失效的问题,以确保用户总是能够获取到最新的数据。本文将详细介绍如何利用js-cookie库来实现...
标题中的“一种缓存数据流信息的处理器前端设计”指的是在处理器架构中,为了提高多线程并行处理能力和指令级并行性(ILP),提出的一种新的前端设计方法。这种设计着重于缓存数据流信息,以提升处理器的性能和效率。 ...
在移动应用中,网络加载和数据缓存是常见的需求,尤其对于那些需要频繁读取数据的应用,如新闻阅读、社交应用等。Bmob提供了数据缓存功能,能够帮助开发者实现高效的网络数据处理。 首先,**网络加载**是将服务器上...
"大数据量高性能前端表格grid 动态加载数据"这一技术主题,旨在优化用户体验,解决因一次性加载大量数据导致的页面卡顿问题。本文将深入探讨如何实现这种高效的数据加载策略。 首先,"高性能grid"是指一种能够快速...
这里讲的前端缓存是指前端对接口数据的缓存处理,而不是通过 HTTP(s)缓存 需要配合axios使用 安装 通过npm安装: npm install axios-request-cache --save 通过yarn安装: yarn add axios-request-cache 参数说明 ...
4. 缓存策略:利用浏览器缓存机制,避免重复处理已读取的数据块。 总结来说,JavaScript前端处理Excel大数据导入的关键在于分片上传、合理的数据处理策略以及良好的用户体验设计。通过结合HTML5的File API、第三方...
WebSocket是一种在客户端与服务器之间建立长连接的协议,它允许双方进行全双工通信,即数据可以在两个方向上同时传输,极大地提高了实时性。在传统的HTTP协议中,客户端需要不断发起请求来获取新数据,而WebSocket则...
在前端开发中,缓存是...总结来说,"前端自动添加,保存到缓存"涉及的是前端缓存策略,尤其是HTML5的Service Worker和Cache API的使用,它们允许开发者实现高效、自动化的本地数据缓存,提高Web应用的性能和用户体验。
jQuery数据缓存是一种高效的方法,用于在DOM元素上存储和检索数据,同时避免了JavaScript中的内存泄漏问题,尤其是与DOM元素绑定时常见的循环引用风险。本文将深入探讨jQuery的`data()`方法及其相关使用规范。 一、...
缓存数据来源是预知的,我们可以预先定义哪些 mutation 是缓存相关的。 我们期望这个过程更自然一点,通过某种变化自动映射,使以后不管缓存类别增加还是减少都能修改极少的代码来应对变化。 Vuex的插件可以拦截 ...
5. **性能优化**:对于大规模数据,工具需要有良好的性能优化策略,如数据缓存、预计算、分片查询等,以保证响应速度。 6. **安全性**:保障数据访问的安全性,通过权限管理控制不同用户对数据的查看和操作权限。 ...
缓存技术是一种用于提高数据访问速度和系统响应时间的技术。它通过在靠近应用的地方存储数据副本,减少对后端系统的请求次数,从而加快数据获取的速度。缓存在Web开发和移动开发中扮演着极其重要的角色。 **缓存...
"前端数据可视化大屏"是一种高效的数据展示工具,它将复杂的数据转化为易于理解的图表和图形,帮助用户快速洞察业务状况。本项目是基于Echarts库开发的数字大屏模板,专门用于某公司的数据分析和大数据监控,具有...
- **Hibernate一级缓存**:Session级别,存储实体对象,事务范围内有效,用于同一事务内的数据共享。 - **Hibernate二级缓存**:SessionFactory级别,跨Session,可配置为进程内或集群间共享,缓存查询结果和集合...
数据平台前端缓存技术方案主要涉及两种常用的内存缓存服务:Memcached和Redis。本文将重点解析Memcached的相关知识。 1. **Memcached基础** - **M的概念**:Memcached是一个高性能的分布式内存对象缓存系统,它...
**一级缓存(L1 Cache)**是CPU内部最接近运算核心的高速缓存,分为数据缓存(D-Cache)和指令缓存(I-Cache)。数据缓存存储运算过程中使用的数据,而指令缓存则存放执行这些操作所需的指令。L1缓存的容量相对较小,但...