网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力。在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. 15 Most Read Data Science Articles in 2015. So far …

    15 Most Read Data Science Articles in 2015. So far … We've compiled the latest set of "most rea ...

  2. MongoDB警告信息

    更多内容推荐微信公众号,欢迎关注: MongoDB警告信息: 1. WARNING: Using the XFS filesystem is strongly recommended with the ...

  3. 20165320 预备作业2:技能学习心得与C语言学习

    一.技能学习心得 1.你有什么技能比大多数人好? 我觉得我的篮球打得比一般的人好吧,但是也仅仅掌握了大部分基本的篮球技巧,算不上精通. 2.针对这个技能的获取你有什么成功的经验? 我觉得要打好篮球需要 ...

  4. Spring4笔记3--Bean的装配

    Bean的装配: Bean 的装配,即 Bean 对象的创建.容器根据代码要求创建 Bean 对象后再传递给代码的过程,称为 Bean 的装配. 1. 创建Bean对象的方式: 1. 通过 getBe ...

  5. AS中一些不经常用到的快捷键

    1 书签 添加/移除书签 Ctrl+shift+F11 展示书签 shift+F11 下一个书签  shift+加号 上一个书签  shift+减号 2 折叠/展开代码块 展开代码块  ctrl+加号 ...

  6. Git 创建仓库【转】

    转自:http://www.runoob.com/git/git-create-repository.html Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库. 你可以使用一个已经 ...

  7. html- 头部元素

    一:HTML <head> 元素 <head> 元素是所有头部元素的容器.<head> 内的元素可包含脚本,指示浏览器在何处可以找到样式表,提供元信息,等等. 以下 ...

  8. vue+vuex+axios+echarts画一个动态更新的中国地图

    一. 生成项目及安装插件 # 安装vue-cli npm install vue-cli -g # 初始化项目 vue init webpack china-map # 切到目录下 cd china- ...

  9. show engine innodb status 详细介绍

    Contents Header1 SEMAPHORES. 1 LATEST DETECTED DEADLOCK. 3 TRANSACTIONS. 5 什么是purge操作... 5 FILE I/O. ...

  10. UVA10212 【The Last Non-zero Digit.】

    暴力可做!!!(十秒还不打暴力!!!)暴力算阶乘边算边取余上代码 #include<iostream> #define int long long //开long long using n ...