网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力。在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. bzoj千题计划123:bzoj1027: [JSOI2007]合金

    http://www.lydsy.com/JudgeOnline/problem.php?id=1027 因为x+y+z=1,所以z=1-x-y 第三维可以忽略 将x,y 看做 平面上的点 简化问题: ...

  2. POJ 1741 Tree 求树上路径小于k的点对个数)

                                                                                                 POJ 174 ...

  3. 浅谈ASP.net处理XML数据

    XML是一种可扩展的标记语言,比之之前谈到的html有着很大的灵活性,虽然它只是与HTML仅有一个字母只差,但两者有很大的区别. XML也是标记语言,所以它每个标签必须要闭合,而HTML偶尔忘了闭合也 ...

  4. java 根据二叉树前序 ,中序求后续

    在一棵二叉树总,前序遍历结果为:ABDGCEFH,中序遍历结果为:DGBAECHF,求后序遍历结果. 我们知道: 前序遍历方式为:根节点->左子树->右子树 中序遍历方式为:左子树-> ...

  5. linux tar 解压出错

    今天用tar -xzvf php-7.2.3.tar.gz 解压php的tar包时报错 [root@VM_72_37_centos ~]# tar -xzvf php-.tar.gz gzip: st ...

  6. js 各类判断用户输入字符的格式函数

    1.JS 判断IP格式是否正确: function checkIP(ip) { var regular = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;//正则表达式 if (reg ...

  7. 一个罕见的MSSQL注入漏洞案例

    一个罕见的MSSQL注入漏洞案例 这里作者准备分享一个在去年Google赏金计划中发现的相当罕见漏洞,也是作者在整个渗透测试生涯中唯一一次遇到的. 目标网站使用了微软 SQL Server 数据库并且 ...

  8. 【iptables】linux网络防火墙-iptables基础详解(重要)

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  9. xmlHttpRequest 跨域和上传或下载进度条

    跨域 XMLHttpRequest 请求 普通网页能够使用XMLHttpRequest对象发送或者接受服务器数据, 但是它们受限于同源策略. 扩展可以不受该限制. 任何扩展只要它先获取了跨域请求许可, ...

  10. Android 抽屉导航

    原文地址 http://developer.android.com/training/implementing-navigation/nav-drawer.html 创建抽屉导航 导航抽屉是在 屏幕左 ...