当前位置:首页 » 文件管理 » thinkphp缓存的使用

thinkphp缓存的使用

发布时间: 2025-03-03 22:54:32

① Thinkphp中关于静态缓存的定义格式为全局的操作静态规则

ThinkPHP内置了静态缓存的功能,并且支持静态缓存的规则定义。
要使用静态缓存功能,需要开启HTML_CACHE_ON 参数,并且使用HTML_CACHE_RULES配置参数设置静态缓存规则文件 。
静态规则的定义方式如下:
'HTML_CACHE_ON'=>true,
'HTML_CACHE_RULES'=> array(
'ActionName' => array('静态规则', '静态缓存有效期', '附加规则'),
'MoleName(小写)' => array('静态规则', '静态缓存有效期', '附加规则'),
'MoleName(小写):ActionName' => array('静态规则', '静态缓存有效期', '附加规则'),
'*' => array('静态规则', '静态缓存有效期', '附加规则'),
//…更多操作的静态规则
)
静态缓存文件的根目录在HTML_PATH 定义的路径下面,并且只有定义了静态规则的操作才会进行静态缓存,注意,静态规则的定义有三种方式:
第一种是定义全局的操作静态规则,例如定义所有的read操作的静态规则为
'read'=>array('{id}','60')

其中,{id} 表示取$_GET['id'] 为静态缓存文件名,第二个参数表示缓存60秒
第二种是定义全局的模块静态规则,例如定义所有的User模块的静态规则为
'user:'=>array('User/{:action}_{id}','600')

其中,{:action} 表示当前的操作名称 静态
第三种是定义某个模块的操作的静态规则,例如,我们需要定义Blog模块的read操作进行静态缓存
'blog:read'=>array('{id}',0)
有个别特殊的规则,例如空模块和空操作的静态规则的定义,可以使用下面的方式:
'empty:index'=>array('{:mole}_{:action}',0) // 定义空模块的静态规则
'User:_empty'=>array('User/{:action}',0) // 定义空操作的静态规则
第四种方式是定义全局的静态缓存规则,这个属于特殊情况下的使用,任何模块的操作都适用,例如
'*'=>array('{$_SERVER.REQUEST_URI|md5}'),
根据当前的URL进行缓存

静态规则是用于定义要生成的静态文件的名称,写法可以包括以下情况
1、使用系统变量 包括 _GET _REQUEST _SERVER _SESSION _COOKIE
格式:
{$_×××|function}
例如:
{$_GET.name} {$_SERVER. REQUEST_URI|md5}
2、使用框架特定的变量
例如:{:app}、{:group} 、{:mole} 和{:action} 分别表示当前项目名、分组名、模块名和操作名

3、使用_GET变量
{var|function}
也就是说 {id} 其实等效于 {$_GET.id}

4、直接使用函数
{|function}
例如:{|time}

5、支持混合定义,例如我们可以定义一个静态规则为:
'{id},{name|md5}'
在{}之外的字符作为字符串对待,如果包含有”/”,会自动创建目录。
例如,定义下面的静态规则:
{:mole}/{:action}_{id}
则会在静态目录下面创建模块名称的子目录,然后写入操作名_id.shtml 文件。

静态有效时间 单位为秒如果不定义,则会获取配置参数HTML_CACHE_TIME 的设置值,如果定义为0则表示永久缓存。
附加规则通常用于对静态规则进行函数运算,例如
'read'=>array('Think{id},{name}','60', 'md5')
翻译后的静态规则是 md5('Think'.$_GET['id']. ', '.$_GET['name']);
和静态缓存相关的配置参数包括:
HTML_CACHE_ON 是否开启静态缓存功能
HTML_FILE_SUFFIX 静态文件后缀 惯例配置的值是 .html
HTML_CACHE_TIME 默认的静态缓存有效期 默认60秒 可以在静态规则定义覆盖

② thinkphp怎么写更新缓存功能

使用缓存的场景大概是符合这一点:数据改变的频率不快。也就是说:一个数据,如果好几个小时,甚至好几天都不发生改变,那么就可以使用缓存。 使用缓存的模式是这样: if(缓存不存在) { 从数据库中取出数据,存入缓存,然后给缓存设置一个时间 } else { 取出缓存中的数据 } 如果是数据基本上永远都不变的话,那么可以使用“页面静态化”的技术,“页面静态化”比“缓存”更加提高网站访问的性能。
ThinkPHP在数据缓存方面包括文件方式、共享内存方式和数据库方式在内的多种方式进行缓存,通过插件方式还可以增加以后需要的缓存类,让应用开发可
以选择更加适合自己的缓存方式,从而有效地提高应用执行效率。目前已经支持的缓存方式包括:File、Apachenote、Apc、
Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis和Xcache。
为了开发的方便,可以把缓存给去除。

1.找到ThinkPHPCommonconvention.php和ThinkPHPCommondebug.php

2.打开这两个文件找到你想要的设置即可。

debug.php中
'TMPL_CACHE_ON'=>false, // 默认开启模板缓存

复制代码
convention.php中'
TMPL_CACHE_ON' => false, // 默认开启模板编译缓存 false 的话每次都重新编译模板

'ACTION_CACHE_ON' => false, // 默认关闭Action 缓存

'HTML_CACHE_ON' => false, // 默认关闭静态缓存

复制代码
thinkphp 怎么关闭全部缓存?(
APP_DEBUG=>true
DB_FIELD_CACHE=>false
HTML_CACHE_ON=>false

复制代码
关闭ThinkPHP模板缓存

最后自己找见了,在config.php里面加上一句
'TMPL_CACHE_ON' => false,
'TMPL_CACHE_ON' => false,

复制代码
这样每次运行都重新生成缓存

③ thinkphp 如何实现清除缓存

define('RUNTIME_PATH','./runtime/'.APP_NAME.'/');
首先一开始的时候把缓存目录提出,让所有缓存都放入一个目录,这样清理缓存就很容易了。
ThinkPHP默认使用的是文件缓存,那么就只要把缓存文件删除就可以了。
可以使用:
import('ORG.Io.Dir');
Dir::delDir('./runtime/');

④ Thinkphp3.0版本的静态缓存该如何配置

'HTML_CACHE_ON' => true, // 开启静态缓存'HTML_CACHE_TIME' => 60, // 全局静态缓存有效期(秒)'HTML_FILE_SUFFIX' => '.shtml', // 设置静态缓存文件后缀'HTML_CACHE_RULES' => array( // 定义静态缓存规则 // 定义格式1 数组方式 '静态地址' => array('静态规则', '有效期', '附加规则'), // 定义格式2 字符串方式 '静态地址' => '静态规则', )

手册上是这样配的,你是不是写的作用于不对,要在config文件夹中配置。

⑤ thinkphp f方法怎么获取缓存文件

F方法的特点是:
简单数据缓存;
文件形式保存;
采用PHP返回数据方式加载缓存;
支持子目录缓存以及自动创建;
支持删除缓存和批量删除;

写入和读取缓存
F('data','test data');
默认的保存起始路径是DATA_PATH(该常量在默认配置位于RUNTIME_PATH.'Data/'下面),也就是说会生成文件名为DATA_PATH.'data.php'的缓存文件。
注意:确保你的缓存标识的唯一,避免数据覆盖和冲突。
下次读取缓存数据的时候,使用:
$Data = F('data');
我们可以采用子目录方式保存,例如:
F('user/data',$data); // 缓存写入
F('user/data'); // 读取缓存
就会生成DATA_PATH.'user/data.php' 缓存文件,如果user子目录不存在的话,则会自动创建,也可以支持多级子目录,例如:
F('level1/level2/data',$data);
如果需要指定缓存的起始目录,可以用下面的方式:
F('data',$data,TEMP_PATH);
获取的时候则需要使用:
F('data','',TEMP_PATH);

删除缓存
删除缓存也很简单,使用:
F('data',NULL);
第二个参数传入NULL,则表示删除标识为data的数据缓存。
支持批量删除功能,尤其是针对子目录缓存的情况,假设我们要删除user子目录下面的所有缓存数据,可以使用:
F('user/*',NULL);
又或者使用过滤条件删除,例如:
F('user/[^a]*',NULL);

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:640
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:368
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:86
php微信接口教程 发布:2025-04-16 17:07:30 浏览:310
android实现阴影 发布:2025-04-16 16:50:08 浏览:794
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:346
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:213
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:816
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:367
土压缩的本质 发布:2025-04-16 16:13:21 浏览:594