精华内容
下载资源
问答
  • 动态缓存

    2014-11-05 17:35:16
    我们可以缓存整个页面,但只有一个小的区域,会根据不同的条件显示不同的信息

    我们可以缓存整个页面,但只有一个小的区域,会根据不同的条件显示不同的信息,这个小的区域需要设置动态缓存

    $this->beginCache();

    动态缓存设置:

    回调函数:控制器中普通的方法

    $this->renderDynamic(回调函数);

    $this->endCache();


    缓存总结:

    1、main.php配置缓存组件cache

    2、缓存类型:片段缓存、页面缓存、数据缓存、动态缓存

    3、缓存截止:文件、数据库、内存

    片段缓存:befinCache

    页面缓存:filters过滤器实现

    4、具体变量缓存


    展开全文
  • 静态缓存和动态缓存

    2019-10-05 02:53:57
    今天有个朋友问我什么叫动态缓存。N年前曾经看过一篇文章,不记得叫什么了。只记得静态缓存是在写了文章过后,就生成静态页面。动态缓存是写了文章以后不生成静态页面,当有用户第一次浏览以后,才触发相关条件生成...

    今天有个朋友问我什么叫动态缓存。N年前曾经看过一篇文章,不记得叫什么了。只记得静态缓存是在写了文章过后,就生成静态页面。动态缓存是写了文章以后不生成静态页面,当有用户第一次浏览以后,才触发相关条件生成静态页面。

    我朋友又问?那不是动态缓存需要更加多的判断和操作?其实是错的。动态缓存要比静态缓存先进多,至少在我看来是这样。目前绝大多数WEB程序生成静态页面,都是采用静态生成。这就是我一直不做静态缓存(生成)的原因——麻烦。

    因为静态缓存,有比较严重的缺点——数据即时性。如果要保证静态页面的某些数据的即时性,也可以说同步更新,就必须执行大量操作,统计,重新写入。或者是改变内容后,还要重新生成。如果不注重即时性,那也要定期重新更新所有静态文件。因此,在后台和前台都必须要有代码来执行更新和写文件的操作。

    我说动态缓存就比静态缓存,先进就先进在生成是触发式的,这样可以让后台部分少去了很多操作。比如写完文章后,不生成静态页面,有用户第一次访问时,检查是否有缓存过的记录或者缓存文件是否存在。没有,就生成,这次操作稍微慢点,然后记录一下,第2个用户访问时,系统检查到有缓存的记录。就直接调用缓存文件。这次的速度就快了。对数据库的访问也就减少了。我们还可以给缓存设置一个有效期,当前台用户浏览时,可以触发是否更新。更新的话,这个用户浏览肯定会稍微慢点。但是第2个用户就又快了。又可以看到新内容了。后台干预的操作也大大减少了。当然,管理员可以有时间去喝咖啡了。


    比如SABLOG-X要加入动态缓存的功能那我们就要多加几个字段来记录某些信息。

    lastvisit 最后访问时间
    cached 是否已经缓存 默认0

    新文章,cached当然为0了。第一个用户访问,然后就开始生成文件,处理数据库的信息是个漫长的过程,可能也就0.00N秒吧。呵呵。生成完毕后,更新cached的值为1,然后跳转到/cachedir/datedir/articleid.html。

    当第2个用户访问,查询到cached的值是1,就直接跳转或者调用/cachedir/datedir/articleid.html,就跳过了下面对数据库的操作。当然,之中可以加入缓存有效时限的判断操作,看看lastvisit和当前时间的间隔。这个间隔可以在后台设置,比如1天,2天……如果大了。就把缓存删除。再生成。如果小了。继续调用缓存文件或者跳转。反正用不了几毫秒。这一步也可以在后台批量操作。反正代码也简单。总之操作要比静态缓存简单得多。代码量肯定也要少得多。

    这下就不用和朋友解释这么多了,说这么通俗。再笨都懂了。不知道有没有高手的思路或者方法更加好的。欢迎交流交流。




    最近学习了不少东西,本来如果不预定51发布SABLOG-X的,就可以加入更加多的重大改进。但是为了不跳票。只能将就咯。我脸皮比较厚,敢说现在的SABLOG-X在国产BLOG中,也算排得比较靠前的了。哈哈。

    BY angel

     

     

    http://blog.sina.com.cn/s/blog_48edd404010003t7.html

    转载于:https://www.cnblogs.com/hellowzd/p/4146672.html

    展开全文
  • 本篇文章主要介绍了ThinkPHP实现静态缓存和动态缓存示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • php动态缓存类.zip

    2019-07-11 11:06:47
    一个PHP缓存类,设置详细内容见代码里面,此版本为utf-8编码,如果网站采用其它编码请自行...动态缓存和静态缓存的根本差别在于其是自动的,用户访问页面过程就是生成缓存、浏览缓存、更新缓存的过程,无需人工操作干预。
  • thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkphp缓存方法,对thinkphp缓存方法感兴趣的朋友一起学习吧
  • 静态页面的缓存可能有2种形式:其实主要区别就是CMS是否自己负责关联内容的缓存更新管理。 静态缓存:是在新内容发布的同时就立刻生成相应内容的静态页面,比如:2003年3月22日,管理员通过后台内容... 动态缓存...

    静态页面的缓存可能有2种形式:其实主要区别就是CMS是否自己负责关联内容的缓存更新管理。
      
      静态缓存:是在新内容发布的同时就立刻生成相应内容的静态页面,比如:2003年3月22日,管理员通过后台内容管理界面录入一篇文章后,就立刻生成http://www.chedong.com/tech/2003/03/22/001.html这个静态页面,并同步更新相关索引页上的链接。
      
      动态缓存:是在新内容发布以后,并不预先生成相应的静态页面,直到对相应内容发出请求时,如果前台缓存服务器找不到相应缓存,就向后台内容管理服务器发出请求,后台系统会生成相应内容的静态页面,用户第一次访问页面时可能会慢一点,但是以后就是直接访问缓存了。
      
      如果去ZDNet等国外网站会发现他们使用的基于Vignette内容管理系统都有这样的页面名称:0,22342566,300458.html。其实这里的0,22342566,300458就是用逗号分割开的多个参数:
      
      第一次访问找不到页面后,相当于会在服务器端产生一个doc_type= 0&doc_id=22342566&doc_template=300458的查询,
      
      而查询结果会生成的缓存的静态页面: 0,22342566,300458.html
      
      静态缓存的缺点
      
      复杂的触发更新机制:这两种机制在内容管理系统比较简单的时候都是非常适用的。但对于一个关系比较复杂的网站来说,页面之间的逻辑引用关系就成为一个非常非常复杂的问题。最典型的例子就是一条新闻要同时出现在新闻首页和相关的3个新闻专题中,在静态缓存模式中,每发一篇新文章,除了这篇新闻内容本身的页面外,还需要系统通过触发器生成多个新的相关静态页面,这些相关逻辑的触发也往往就会成为内容管理系统中最复杂的部分之一。
      
      旧内容的批量更新: 通过蔡捍娣⒉嫉哪谌荩杂谝郧吧傻木蔡趁娴哪谌莺苣研薷模庋没Х梦示梢趁媸保碌哪0甯疚薹ㄉА?
      
      在动态缓存模式中,每个动态页面只需要关心,而相关的其他页面能自动更新,从而大大减少了设计相关页面更新触发器的需要。
      
      以前做小型应用的时候也用过类似方式:应用首次访问以后将数据库的查询结果在本地存成一个文件,下次请求时先检查本地缓存目录中是否有缓存文件,从而减少对后台数据库的访问。虽然这样做也能承载比较大的负载,但这样的内容管理和缓存管理一体的系统是很难分离的,而且数据完整性也不是很好保存,内容更新时,应用需要把相应内容的的缓存文件删除。但是这样的设计在缓存文件很多的时候往往还需要将缓存目录做一定的分布,否则一个目录下的文件节点超过3000,rm *都会出错。

    转载于:https://www.cnblogs.com/hellowzd/p/4146639.html

    展开全文
  • DirectX11 动态缓存

    千次阅读 2015-07-21 22:30:16
    动态缓存1. 为什么需要动态缓存? 例如我们要在同一副精灵纹理中创建一套精灵动画,我们需要经常更改缓存中的顶点位置信息。动态缓存对于我们需要修改一块缓存中的内容的这种情况来说是很合适的。 不推荐多次创建和...

    动态缓存

    1. 为什么需要动态缓存?

    例如我们要在同一副精灵纹理中创建一套精灵动画,我们需要经常更改缓存中的顶点位置信息。动态缓存对于我们需要修改一块缓存中的内容的这种情况来说是很合适的。 不推荐多次创建和销毁静态缓存块,特别是逐帧这样做,你应该使用动态缓存来做这样的任务。

    2. 如何创建动态顶点缓存?

    我们可以通过调用设备的CreateBuffer函数来创建顶点缓存,该函数以前已经介绍过。不同的是,我们将子资源参数(第二个参数)设置为 NULL,因为我们会对顶点缓存的内容进行动态更新,从而在创建时不需要设置任何数据。当动态缓存创建后,我们能够在任何时候对它进行更新。

    3. 动态缓存描述对象如何填充?

    为了创建一块动态顶点缓存,我们首先需要填充缓存描述对象:

    • Usage:设置使用标识为 D3D11_USAGE_DYNAMIC 来允许我们的缓存能够通过 CPU 来动态更新。在之前的 Demo 中对于静态缓存我们设置的使用标识是 D3D11_USAGE_DEFAULT。
    • CPUAccessFlags:设置 CPU 访问标识为 D3D11_CPU_ACCESS_WRITE。这是为了让 CPU 能够对 GPU 中的资源进行写访问。其它的访问标识还有读访问和读写访问,但是在本 Demo 中我们不需要 CPU 读任何东西。
    • BindFlags:像以前那样设为D3D11_BIND_VERTEX_BUFFER就可以了。
    • ByteWidth:我们这个纹理有24帧,每帧有6个顶点,所以按实际顶点个数计算即可。

    4. 动态缓存示例代码

        D3D11_BUFFER_DESC vertexDesc;
        ZeroMemory( &vertexDesc, sizeof( vertexDesc ) );
        vertexDesc.Usage = D3D11_USAGE_DYNAMIC;
        vertexDesc.CPUAccessFlags = D3D11_CPU_ACCESS_WRITE;
        vertexDesc.BindFlags = D3D11_BIND_VERTEX_BUFFER;
    
        const int sizeOfSprite = sizeof( VertexPos ) * 6;
        const int maxLetters = 24;
    
        vertexDesc.ByteWidth = sizeOfSprite * maxLetters;
    
        d3dResult = d3dDevice_->CreateBuffer( &vertexDesc, 0, &vertexBuffer_ );
    展开全文
  • thinkphp--静态缓存和动态缓存

    千次阅读 2016-12-09 16:35:16
    2、动态缓存:仅对数据库中的数据进行了缓存,即“通过动态缓存,  不需要再读取数据库了,直接通过缓存文件来调取相应数据”,动态花村的实现方式“文件缓存”(默认方式) 3、下面主要简绍下ThinkPHP的S()函数  ...
  • APM架构下的动态缓存的BCLFL策略,施家庆,牛纪桢,本文对基于APM的Web服务器架构进行分析,利用动态缓存来提高服务器的响应时间。文中对于影响服务器动态缓存的Web文件大小、文件连接
  • vue动态缓存:动态应用keep-alive 在实现动态缓存之前,先了解以下技术点: 1.假设A组件用了缓存,则A组件首次加载的钩子执行顺序:created—> activated —> mounted,而再次返回A组件时只会执行activated,...
  • 缓存分类: 片段缓存 页面缓存 动态缓存 数据缓存【商品列表和详细页面制作】【片段缓存】进行商品列表的独立区域缓存,片段缓存我们的缓存是文件缓存,缓存的信息在目录runtime存放使用缓存步骤:1. 在程序里边...
  • vue keep-alive实现动态缓存以及缓存销毁 需求来源及描述 后台管理系统中,左侧为功能菜单栏,点击菜单列表,右侧显示该菜单的功能页面,本来是一个非常简单的后台管理系统布局,现在增加了tabs菜单按钮; 点击左侧...
  • 动态缓存和生命周期函数细说
  • 针对低轨物联网卫星系统的路由问题,提出了基于流量预测的物联网卫星节点动态缓存分配路由策略。首先,分析低轨卫星覆盖区域内业务分布的时空特性,提出了端到端流量预测方法。然后,根据流量预测结果,提出了动态...
  • (例如商品的详细页面的缓存中用户名是动态的)这里就需要设置动态缓存。 首先在被缓存的模板中使用renderDynamic进行动态渲染。使用如下 <?php echo $this->renderDynamic('show_name');//动态渲染,参数...
  • 航班搜索引擎动态缓存策略研究,周超,林友芳,随着国内民航市场的快速发展,互联网平台的航班查询量越来越多。为减轻后台服务的查询压力,查询缓存策略逐渐成为重要的研究课题
  • 一种基于热页迁移的虚拟机动态缓存划分方法,汪小林,胡夏蒙,静态缓存划分能够降低并行程序所产生的缓存冲突,提高缓存污染程序和缓存敏感型程序运行在共享最低级缓存的多核处理器中的总性能
  • 为了有效利用缓存资源,提出一种动态分配片上网络路由器端口缓存的方法...与基于虚通道的动态缓存分配方式相比,该方法降低了控制和仲裁的复杂度。仿真结果表明,获得同等性能的条件下,该方法可以有效降低缓存的需求。
  • java动态缓存技术:WEB缓存应用

    千次阅读 2013-03-30 21:35:58
     java动态缓存jar包请下载。 源代码:  CacheData.java 存放缓存数据的Bean /**  *   */ package com.cari.web.cache; /**  * @author zsy  *   */ public class CacheData {  ...
  • 动态缓存控制技术

    2010-08-27 09:34:00
    什么是动态缓存  基于目前的解决方案--squid,memcached,他们能够将网页数据缓存,为后来的用户请求提供网页服务。但是仅仅到此为止。如想在用户发了新帖子,发了新文章后,看到这些新的内容,必须等一段时间...
  • memcache动态缓存 和 静态页面 这三者是什么关系呢?分不清。 知道s函数和memcache是缓存数据,静态页面是生成静态页面。 可是都生 成静态页面 了为什么还要 s函数和memcache的缓存数据 呢?
  • Thinkphp 3.2.3中唯一能使redis动态缓存有效期生效的方法是先在每一个需要用到缓存的方法里创建缓存对象并指定有效期,然后在需要去除数据时先用get函数从redis里取值,如果有值,直接assign,如果返回为false,说明...
  • Vue动态缓存页面

    2020-07-01 13:43:34
    需求说明:A页面到B页面需要缓存,A页面到C页面不需要缓存 所要缓存页面的顶级出口 <keep-alive :include="kpAlive"> <router-view/> </keep-alive> <script> export default { computed...
  • DirectX11 动态缓存 & 水波演示Demo

    千次阅读 2015-10-02 16:07:46
    DirectX11 动态缓存 1. 动态缓存是什么? 到目前为止,我们一直使用的是静态缓冲(static buffer),它的内容是在初始化时固定下来的。相比之下,动态缓冲(dynamic buffer)的内容可以在每一帧中进行修改。当实现...
  • 动态缓存技术之CSI,SSI,ESI1.CSI方案CSI (Client Side Includes)通过iframe、javascript、ajax 等方式将另外一个页面的内容动态包含进来。2.SSI方案SSI (Server Side Includes)Server Side Includes (SSI) is a ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,672
精华内容 6,268
关键字:

动态缓存