thinkphp3.2开启静态缓存与缓存规则设置
网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力。在thinkphp中实现静态缓存很简单,thinkphp都已经封装好了直接调用即可。
静态缓存
-
首先设置 HTML_PATH 静态缓存文件目录,默认是在项目的应用目录下如:App/Html
-
在前台或后台打开静态缓存
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(); |
帅的无语!