美文网首页
说缓存&&时间

说缓存&&时间

作者: 春风剑客清扬 | 来源:发表于2018-07-06 20:45 被阅读0次

缓存是一个概念。

缓存是一种思想。

很多时候,我们在不知不觉中发现,缓存是一种有用的经验,他应用于一切需要的场合,甚至可以应用于一些不那么需要,但是添加了即可增加体验感的方面。这里并不是提倡一直要使用缓存,而是“尽可能多地使用缓存”。

在应用cocos-js引擎中发现,缓存无处不在。想必引擎开发者对这个是极为在意的。那么缓存在引擎中体现的地方又有哪些呢。简单的例子,加载图集,加载ui的json文件,加载引擎等等。缓存在应用中最大的作用是,能够避免用户的流量,同时也能够更加快速的加载文件,而不是相反:一次一次的重新加载文件。引擎最大的效果在于,几乎所有的文件,都是下载到本地的,怎么见得呢。例如在开发html5应用中,经常发现api的调用如下:

Perload->load,前者是下载,或者是加载。

这里也要谈谈项目中,为什么也要采取缓存思路,以及采取缓存思路的应用场合。例如,热更新,我们需要缓存到本地,重新下载的标识则是每个文件的md5值。在应用某阶段中,应用会进行预下载要使用文件,然后应用就可以仅仅下载一次,然后反复运用这些预先加载的文件了。应用的地方还包括,可以给每个内部要使用的文件进行一次赋值md5存储到json对象中,例如{img:1001.png,md5:xxx32位}。使用的过程就是每次预先进行本地的文件和预先下载的json的文件进行对比,如果有添加,即可进行push到下载列表,否则不push;另外,已经存在本地的文件,要和json中的文件进行md5值比较,发现不同,也要push到下载列表,相反不push。思路都是极其简单的,应用起来也不难。

说起引擎的使用中,html5如何刷新新的资源文件,本地不再多说,公众号最开始的很多期已经进行了介绍,这里简单地说明一处:引擎内部并不支持添加V值,需要修改一处地方,

var load = function (file, type,

path) {

       var json = cc.loader.getRes(file);

       if (!json)

           return cc.log("%s does not exist", file);

       var ext = extname(file).toLocaleLowerCase();

       //if (ext !== "json" && ext !=="exportjson")

       //    return cc.log("%s loaderror, must be json file", file);

屏蔽两行,即可加载带V值的json文件。而其他的image或者audio则是默认支持的,所以可以不用处理,即可实现带V值刷新。有关缓存的更多概念,或者应用,这个需要不断的加强思维和意识,不能放松对缓存的应用,“尽可能多的,而不是少的,以设计缓存方式为基础的思想,产品还能具备更多设计思路”。

         这里还打个插曲。最近发现由于时差的问题,我们的服务器今天上午八点是6号,但是美国用户分享是5号,这是一个问题。所以针对这类问题,我们可以以服务器端时间为准,不过针对时差较大的用户,他会觉得奇怪!为什么我的分享是7月8号,今天明明是7号?这样显示UI上面,又会出现疑问,这是一个命题,毕竟服务器不再各个地区有设置啊。时差是问题之一;另外的一个问题:用户的电脑时间不按照套路出牌,居然超前72小时或者延时24小时,这也是一个问题。这说明,客户端的取值时间是不靠谱的,不过这类情况确实不在预期之内。

相关文章

  • 说缓存&&时间

    缓存是一个概念。 缓存是一种思想。 很多时候,我们在不知不觉中发现,缓存是一种有用的经验,他应用于一切需要的场合,...

  • 设置缓存

    设置缓存的意义 缓存静态文件,减少实体请求 缓存文件过期时间 服务端响应首部字段 绝对时间 相对时间 客户端缓存1...

  • Nginx的代理缓存设置

    Nginx的代理缓存设置 expires: 设置浏览器的缓存时间 (客户端缓存) 服务端设置缓存(反向代理缓存) ...

  • HTTP缓存协议

    缓存分两种:强制缓存 和 协商缓存强制缓存:cache-control:控制缓存是否生效,有可能过了生效时间但文件...

  • 前端HTTP相关面试总结

    数据库缓存 CDN缓存 代理服务缓存 浏览器缓存 强缓存关键词expiresHTTP 1.0 字段到其时间,根据判...

  • 缓存穿透和布隆过滤器

    缓存在高并发情况下要应对三大异常情形:缓存雪崩、缓存击穿、和缓存穿透。 缓存雪崩和缓存击穿都是属于缓存失效时间的设...

  • Redis 缓存设计原则

    基本原则 只应将热数据放到缓存中 所有缓存信息都应设置过期时间 缓存过期时间应当分散以避免集中过期 缓存key应具...

  • 缓存

    内存缓存 数据库缓存 文件系统缓存 本地内存缓存 没有利用缓存机制之前,所耗费的时间 1. 数据库缓存 配置中间件...

  • 浅谈浏览器控制缓存的策略

    强缓存 服务器返回过期时间,客户端在该时间内发送的请求都会在本地缓存内查找; 协商缓存 当前时间超过了过期时间,客...

  • 缓存框架之jetcache

    对于缓存来说,有时我们需要更多的缓存策略来处理业务。比如:刷新时间、缓存时间。JetCache是由阿里巴巴开源的通...

网友评论

      本文标题:说缓存&&时间

      本文链接:https://www.haomeiwen.com/subject/llobuftx.html