网站的静态缓存对大访问量有很好的缓解作用,尤其对网站的大并发,可有效的缓解数据库的压力。在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();
|
