网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力。在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可。

静态缓存

 

  1. 首先设置 HTML_PATH 静态缓存文件目录,默认是在项目的应用目录下如:App/Html

  2. 在前台或后台打开静态缓存

1
'HTML_CACHE_ON'     =>    true,     // 开启静态缓存

3.设置静态缓存时间

1
'HTML_CACHE_TIME'   =>    3600,       // 全局静态缓存有效期(秒)

4.设置静态缓存后缀

1
'HTML_FILE_SUFFIX'  =>    '.html',     // 设置静态缓存文件后缀

5.设置静态缓存规则

1
2
3
4
5
6
7
8
9
10
11
12
13
'HTML_CACHE_RULES'  =>     array(     // 定义静态缓存规则
 
    // 定义整个文章控制器
    'Article:'      =>       'Article/{:action}_{id}',
     
    // 对商品进行缓存
    'Product:plist' =>       'Product/plist_{id}_{pid}',
     
    // 对单个操作进行缓存
    'Index:index'   =>       'Index/index',
    'Product:category'=>array('Product/category',0),
     
),

缓存规则有很多,可以参考thinkphp3.2的手册,缓存时间设置为0时为永久缓存。

查询缓存

除了静态缓存还有查询缓存也是比较常用的一种缓存方式:

一般情况下这么写就可以缓存了,除了第一次查询外再次查询就直接读缓存

1
$Model->cache(true)->where('status=1')->select();

还可以给这条缓存起名,以便在其他地方读取该缓存

1
2
3
4
$Model->cache('cache_name')->select();
 
//读取该缓存
$value = S('cache_name');

下面是查询缓存配置

1
2
3
4
5
6
//缓存类型,这里写的是文件缓存
'DATA_CACHE_TYPE'=>'File',
//缓存文件前缀
'DATA_CACHE_PREFIX'    =>'Kangku_',
//缓存时间,秒
'DATA_CACHE_TIME'        =>600,

还可以单独设置缓存方式与缓存时间

1
$Model->cache(true,60,'file')->select();

thinkphp3.2开启静态缓存与缓存规则设置的更多相关文章

  1. thinkphp3.2----设置静态缓存

    开启静态缓存后,页面刷新时获取的是静态页面,控制器增加输出内容时页面还是一样,除非超过缓存时间或html结构发生变化才重新生成页面缓存 1.定义静态缓存目录 define("HTML_PAT ...

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

    <?php return array( //开启静态缓存 'HTML_CACHE_ON' => true, 'HTML_CACHE_RULES' => array( 'News:in ...

  3. Thinkphp 缓存和静态缓存局部缓存设置

    1.S方法缓存设置 if(!$rows = S('indexBlog')){ //*$rows = S('indexBlog') $rows = D('blog')->select(); S(' ...

  4. 细说ASP.NET Core静态文件的缓存方式

    一.前言 我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存.服务器缓存.CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的. 本文指在这三个方面,在ASP.NET ...

  5. Nginx实现静态资源的缓存

    1.1   需求 1.对静态文件进行缓存:html,js,css,png,gif,jpg,jpeg,bmp,swf. 2.对符合url规则的请求进行缓存. 3.针对某个url进行清除缓存. 1.1   ...

  6. NET Core静态文件的缓存方式

    NET Core静态文件的缓存方式 阅读目录 一.前言 二.StaticFileMiddleware 三.ASP.NET Core与CDN? 四.写在最后 回到目录 一.前言 我们在优化Web服务的时 ...

  7. Http静态资源的缓存

    最近一段时间一直在研究页面缓存和压缩方面的东西,由于公司服务器使用的是iis6.0,很多性能方面的优化都不支持.所以,就开始尝试着自己写个简单的处理程序. 为了减少服务器带宽的需求,我们要减少客户端与 ...

  8. [转]NET Core静态文件的缓存方式

    本文转自:https://www.cnblogs.com/Leo_wl/p/6059349.html 阅读目录 NET Core静态文件的缓存方式 一.前言 二.StaticFileMiddlewar ...

  9. linux开启swap(磁盘缓存)操作

    转载 2014年04月26日 14:41:15 4470 由于工作需要,要帮助同事查看linux服务器的缓存开启情况,经过查找资料,可确定通过以下方法确定Linux磁盘缓存是否已开启. 1.命令行下执 ...

随机推荐

  1. HttpContext.Current為空匯總

    1. async異步模式下為空 解决办法: <httpRuntime targetFramework="4.5" /> 或者: In your appSettings, ...

  2. ASP.NET中的另类控件

    首先看一个aspx文件里的部分内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  3. 【leetcode 简单】 第六十题 反转链表

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代 ...

  4. Activity相关知识点总结

    一.Activity状态 Activity有三种状态:active/running.paused.stopped. 1.active/running状态,在当前屏幕时,即用户可见的Activity,位 ...

  5. 利用反射型XSS二次注入绕过CSP form-action限制

    利用反射型XSS二次注入绕过CSP form-action限制 翻译:SecurityToolkit 0x01 简单介绍 CSP(Content-Security-Policy)是为了缓解XSS而存在 ...

  6. rabbitmq之后台管理和用户设置(三)

    前言 前面介绍了erlang环境的安装和rabbitmq环境安装,接下来介绍rabbitmq的web管理和用户设置. 启用后台管理插件 通过后台管理插件我们可以动态监控mq的流量,创建用户,队列等. ...

  7. Redhat制作本地yum源

    1.将iso文件上传到服务器上,然后执行: mount -o loop rhel-server-6.3-dvd.iso /media/cdrom 2.设置yum源,在/etc/yum.repos.d目 ...

  8. Ubuntu下 git 服务器的搭建【转】

    转自:http://www.open-open.com/lib/view/open1391477731082.html 搭建git服务器的4个步骤 1   配置服务器前的准备工作 首先ubuntu系统 ...

  9. linux音频alsa-uda134x驱动文档阅读之一转自http://blog.csdn.net/wantianpei/article/details/7817293

    前言 目前,linux系统常用的音频驱动有两种形式:alsa oss alsa:现在是linux下音频驱动的主要形式,与简单的oss兼容.oss:过去的形式而我们板子上的uda1341用的就是alsa ...

  10. Mysql转换成SqlServer数据库,以及SqlServer转换成Mysql数据库

    Windows XP sp2 MS SQL Server 2OOO sp1 MySql 5.0.41 1:MSSQLServer数据库导入到MySql数据库 步骤: 1.安装mysql数据库的ODBC ...