目录
使用JS实现前端缓存
首页 web前端 js教程 使用JS实现前端缓存

使用JS实现前端缓存

Sep 21, 2017 am 10:01 AM
javascript 前端 缓存

使用JS实现前端缓存


在前端浏览器中,有些数据(比如数据字典中的数据),可以在第一次请求的时候全部拿过来保存在js对象中,以后需要的时候就不用每次都去请求服务器了。对于那些大量使用数据字典来填充下拉框的页面,这种方法可以极大地减少对服务器的访问。这种方法特别适用于使用iframe的框架。

具体实现思路和方法:

创建一个cache.js文件:

1、前端页面,定义那些数据需要一次性拿到前端缓存,定义一个对象来保存这些数据:

/**
 * 定义需要在用户登录的时候获取到本地的数据字典类别 */var clsCodes = {clsCodes :
        [BOOL,
         STATUS,
         USER_TYPE,
         REPORT_STATUS
     ]
}; 
/**
 * 获取数据字典到本地 */var dicts;
登录后复制

2、前端页面,定义一个函数来调用后台接口获取数据,然后保存到本地缓存对象(dicts)中。

function getDicts() {
    $.post(getContextPath() + /api/sys/getDictList,            clsCodes,            function(resultBean, status, xhRequest) {                if (resultBean.data != undefined) {
                    dicts = resultBean.data;
                }
            }, 
            'json');
}
登录后复制

在主页面加载的时候调用这个方法一次性获取数据并缓存起来。这样,以后需要同样的数据,就直接从本地对象dicts中获取了。

后端Controller:

3、定义一个接口,根据前端的请求,查询数据库(或查询服务器缓存,如下面例子中)获取数据返回给前端:

/**
 * 根据多个分类编号获取多个字典集合
 * @param clsCodes
 * @return {{clsCode : {code1:name1,code2:name2...}}, ...} */@SuppressWarnings({ unchecked, rawtypes })
@ResponseBody
@RequestMapping(getDictList)
public ResultBean getDictList(@RequestParam(value = clsCodes[], required = true) String[] clsCodes) {
    ResultBean rb = new ResultBean();
     
    Map<string, string="">> dictCache = (Map<string, string="">>) CacheManager.getInstance().get(CacheConstants.DICT);
    Map dictMap = new LinkedHashMap<>(); //使用LinkedHashMap保证顺序
 
    if(dictCache != null){        
    for(String  clsCode: clsCodes){
            dictMap.put(clsCode, dictCache.get(clsCode));
        }
    }else{
        rb.setMessage(缓存中拿不到字典信息!);
        rb.setSuccess(false);
    }
     rb.setData(dictMap);    return rb;
}</string,></string,>
登录后复制

以上是使用JS实现前端缓存的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Linux如何查看和刷新dns缓存 Linux如何查看和刷新dns缓存 Mar 07, 2024 am 08:43 AM

DNS(DomainNameSystem)是互联网中用于将域名转换为对应IP地址的系统。在Linux系统中,DNS缓存是一种将域名和IP地址的映射关系存储在本地的机制,可提高域名解析速度,减轻DNS服务器的负担。DNS缓存允许系统在之后访问相同域名时快速检索IP地址,而不必每次都向DNS服务器发出查询请求,从而提高网络性能和效率。本文不念将和大家一起探讨如何在Linux上查看和刷新DNS缓存,以及相关的详细内容和示例代码。DNS缓存的重要性在Linux系统中,DNS缓存扮演着关键的角色。它的存在

PHP与Vue:完美搭档的前端开发利器 PHP与Vue:完美搭档的前端开发利器 Mar 16, 2024 pm 12:09 PM

PHP与Vue:完美搭档的前端开发利器在当今互联网高速发展的时代,前端开发变得愈发重要。随着用户对网站和应用的体验要求越来越高,前端开发人员需要使用更加高效和灵活的工具来创建响应式和交互式的界面。PHP和Vue.js作为前端开发领域的两个重要技术,搭配起来可以称得上是完美的利器。本文将探讨PHP和Vue的结合,以及详细的代码示例,帮助读者更好地理解和应用这两

前端面试官常问的问题 前端面试官常问的问题 Mar 19, 2024 pm 02:24 PM

在前端开发面试中,常见问题涵盖广泛,包括HTML/CSS基础、JavaScript基础、框架和库、项目经验、算法和数据结构、性能优化、跨域请求、前端工程化、设计模式以及新技术和趋势。面试官的问题旨在评估候选人的技术技能、项目经验以及对行业趋势的理解。因此,应试者应充分准备这些方面,以展现自己的能力和专业知识。

PHP APCu 的高级用法:解锁隐藏的力量 PHP APCu 的高级用法:解锁隐藏的力量 Mar 01, 2024 pm 09:10 PM

PHPAPCu(替代php缓存)是一个加速PHP应用程序的opcode缓存和数据缓存模块。理解其高级功能对于充分利用其潜力至关重要。1.批量操作:APCu提供批量操作方法,可同时处理大量键值对。这对于大规模缓存清除或更新非常有用。//批量获取缓存键$values=apcu_fetch(["key1","key2","key3"]);//批量清除缓存键apcu_delete(["key1","key2","key3"]);2.设置缓存过期时间:APCu允许您为缓存项设置过期时间,以便在指定时间后自

如何将浏览器缓存中的视频文件保存到本地 如何将浏览器缓存中的视频文件保存到本地 Feb 23, 2024 pm 06:45 PM

浏览器缓存的视频怎么导出来随着互联网的快速发展,视频已经成为人们日常生活中不可或缺的一部分。而在浏览网页时,我们常常会遇到想要保存或分享的视频内容,但是有时候我们却无法找到视频文件的来源,因为它们可能只存在于浏览器的缓存中。那么,如何导出浏览器缓存中的视频呢?本文将为您介绍几种常用的方法。首先,我们需要明确一个概念,即浏览器缓存。浏览器缓存是浏览器为了提高用

APCu 最佳实践:提高您的应用程序的效率 APCu 最佳实践:提高您的应用程序的效率 Mar 01, 2024 pm 10:58 PM

优化缓存大小和清理策略为APCu分配适当的缓存大小至关重要。过小的缓存无法有效缓存数据,而过大的缓存则会浪费内存。一般来说,将缓存大小设置为可用内存的1/4到1/2是一个合理的范围。此外,制定一个有效的清理策略可以确保缓存中不保存过时的或无效的数据。您可以使用APCu的自动清理功能或实现自定义清理机制。示例代码://设置缓存大小为256MBapcu_add("cache_size",268435456);//每60分钟清理一次缓存apcu_add("cache_ttl",60*60);启用压缩通

PHP开发中的缓存机制与应用实战 PHP开发中的缓存机制与应用实战 May 09, 2024 pm 01:30 PM

在PHP开发中,缓存机制通过将经常访问的数据临时存储在内存或磁盘中来提升性能,从而减少数据库访问次数。缓存类型主要包括内存、文件和数据库缓存。PHP中可以使用内置函数或第三方库实现缓存,如cache_get()和Memcache。常见的实战应用包括缓存数据库查询结果以优化查询性能,以及缓存页面输出以加快渲染速度。缓存机制有效改善网站响应速度,提升用户体验并降低服务器负载。

CPU、内存、缓存的关系详细解释! CPU、内存、缓存的关系详细解释! Mar 07, 2024 am 08:30 AM

CPU(中央处理器)、内存(随机存取存储器)以及缓存之间存在着紧密的相互作用,它们合力构成了计算机系统的关键组成部分。它们之间的协调配合,确保了计算机的正常运行和高效性能。CPU作为计算机的大脑,负责执行各种指令和数据处理;内存则用于临时存储数据和程序,提供了快速的读写访问速度;而缓存则起到了缓冲作用,加快了数据的访问速度,提高了计算机的CPU是计算机的核心组件,负责执行各种指令、算术运算和逻辑操作。它被称为计算机的"大脑",承担着处理数据和执行任务的重要角色。内存是计算机中一种重要的存储设备,

See all articles