THinkphp开启静态(动态)缓存的用法

<?php
return array(
  //开启静态缓存
  ‘HTML_CACHE_ON‘       => true,
  ‘HTML_CACHE_RULES‘    => array(
      ‘News:index‘ => array(‘{:module}_{:action}_{id}‘, 0)
  )
);

开启静态缓存,并配置News控制器下的index方法对应的页面,会缓存到项目根目录下的HTML文件夹里,0表示永久缓存,换成10就是保存10秒。

文件名为News_index_10.html

页面被静态缓存后,页面上需要实时变化的点击量怎么办?解决办法如下:

<div>浏览

<script type=‘text/javascript‘ src=‘{:U(GROUP_NAME . "/News/clickNum", array("id", $news["id"]))}‘></script>

次</div>

然后在NewsAction里加上public function clickNum()方法,在该方法内进行点击量的+1的逻辑并存库之类的操作,最后

public function clickNum(){

  //点击量的相关逻辑

  echo ‘document.write(‘ . $click . ‘)‘;
}

开启动态缓存

//动态缓存方式
‘DATA_CACHE_TYPE‘ => ‘Memcache‘, //默认是file
‘MEMCACHE_HOST‘ => ‘127.0.0.1‘,
‘MEMCACHE_PORT‘ => 11211

开启后,S(‘index_list‘, $list, 10); 就是往memcache里缓存了,前提时服务器要装memcached服务,且php支持memcache。

DATA_CACHE_TYPE不设置的话,默认是file,往runtime目录下写入缓存文件的。

时间: 2024-12-23 19:20:14

THinkphp开启静态(动态)缓存的用法的相关文章

ThinkPHP中的动态缓存(S方法)和快速缓存(F方法)

系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下面因为缓存数据过多而导致存在大量的文件问题,ThinkPHP也给出了解决方案,可以启用哈希子目录缓存的方式. 'DATA_CACHE_SUBDIR'=>true 还可以设置哈希目录的层次,例如 'DATA_PATH_LEVEL'=>2 就可以根据缓存标识的哈希自动创建多层子目录来缓存. S方法支持

thinkphp的静态缓存禁止

最近用Thinkphp做的企业站,thinkphp里面内置了一个静态缓存功能各种厉害缓存,挥之不去.既然现在还用不上静态缓存功能,就想想怎么禁止缓存.为了这缓存,把它的核心库都看了一些.网上有很多讲解缓存机制的原理和用法,就是没有讲怎么禁止的.这记录分享下,有用时以便查阅. ThinkPHP在数据缓存方面包括文件方式.共享内存方式和数据库方式在内的多种方式进行缓存,通过插件方式还可以增加以后需要的缓存类,让应用开发可以选择更加适合自己的缓存方式,从而有效地提高应用执行效率.目前已经支持的缓存方式

浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)

系统默认的缓存方式是采用File方式缓存,我们可以在项目配置文件里面定义其他的缓存方式,例如,修改默认的缓存方式为Xcache(当然,你的环境需要支持Xcache) 对于File方式缓存下的缓存目录下面因为缓存数据过多而导致存在大量的文件问题,ThinkPHP也给出了解决方案,可以启用哈希子目录缓存的方式. 'DATA_CACHE_SUBDIR'=>true 还可以设置哈希目录的层次,例如 'DATA_PATH_LEVEL'=>2 就可以根据缓存标识的哈希自动创建多层子目录来缓存. S方法支持

thinkphp3.2开启静态缓存与缓存规则设置

网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力.在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可. 静态缓存   首先设置 HTML_PATH 静态缓存文件目录,默认是在项目的应用目录下如:App/Html 在前台或后台打开静态缓存 1 'HTML_CACHE_ON'     =>    true,     // 开启静态缓存 3.设置静态缓存时间 1 'HTML_CACHE_TIME'   =>    3600,   

thinkphp的静态缓存,数据缓存,快速缓存,查询缓存

// 静态缓存 // 'HTML_PATH' 缓存目录,这是个常量不是配置项,在入口文件中定义 // 'HTML_CACHE_ON'     =>    true, // 开启静态缓存 'HTML_CACHE_TIME'   =>    3600, // 全局静态缓存有效期(秒) 'HTML_FILE_SUFFIX'  =>    '.html', // 设置静态缓存文件后缀 'HTML_CACHE_RULES'  =>     array( // 定义静态缓存规则 // 定义整个

【转】Unity3D的LightProbe动态光探头用法介绍

原创至上,移步请戳:Unity3D的LightProbe动态光探头用法介绍 之前曾经介绍过Unity3D的LightMapping烘焙的用法.单独使用的LightMapping效果很好,但由于只是把光影烘焙到贴图上面,所以并不会对周围的动态物体产生真正的光照效果.这次来介绍一下LightProbe,这是对LightMapping的一个补充功能,可以让动态物体在烘焙好的场景里面受到光的照射效果. 接下来说一下具体的用法: 首先在场景里面随意的放了一些物体,搭建了一个场景,里面有一盏直射灯,两盏不同

变态的静态资源缓存与更新

这是一个非常有趣的 非主流前端领域,这个领域要探索的是如何用工程手段解决前端开发和部署优化的综合问题,入行到现在一直在学习和实践中. 在我的印象中,facebook是这个领域的鼻祖,有兴趣.有梯子的同学可以去看看facebook的页面源代码,体会一下什么叫工程化. 接下来,我想从原理展开讲述,多图,较长,希望能有耐心看完. 让我们返璞归真,从原始的前端开发讲起.上图是一个"可爱"的index.html页面和它的样式文件a.css,用文本编辑器写代码,无需编译,本地预览,确认OK,丢到服

ThinkPhp 生成静态页面

//开启静态缓存'HTML_CACHE_ON' => true, //开启缓存'HTML_CACHE_TIME' =>60, //开启缓存时间'HTML_FILE_SUFFIX' => '.shtml', //生成缓存文件的后缀名'HTML_PATH' => 'Html', //生成缓存文件保存目录 'HTML_CACHE_RULES'=>array( 'Index:index' => '{:controller}/{:action}', 'Seller:index'

使用自定义annotation接口进行aspectj动态缓存

由于系统需求需 要对各个接口进行key-value缓存(以参数为key,返回的对象为value), 当然对于这种情况首先考虑到的是使用aop,前段时间看过 aspectj的一些介绍, 借此机会正好加以应用和体会一下,aspectj是AOP最早成熟的java实现, 它稍微扩展了一下java语言,增加了一些 keyword等,具体的aspectj的基本语法见这里,进行缓存的框架使用较成熟的ehcache.下面开始进行配置首先是ehcache的配置文件 <?xml version="1.0&qu