thinkphp数据缓存

由于第一次打开页面会很慢,所以需要做个数据缓存。正好thinkphp框架有封装好的方法,这里说下如何操作的;

1.首先介绍数据缓存的用法

// 缓存初始化
S(array(‘type’=>’xcache’,’expire’=>60));

缓存初始化可以支持的参数根据不同的缓存方式有所区别,常用的参数是:

参数 描述
expire 缓存有效期(时间为秒)
prefix 缓存标识前缀
type 缓存类型

系统目前已经支持的缓存类型包括:Apachenote、Apc、Db、Eaccelerator、File、Memcache、Redis、Shmop、Sqlite、Wincache和Xcache

如果S方法不传入type参数初始化的话,则读取配置文件中设置的DATA_CACHE_TYPE参数值作为默认类型。同样的道理,prefix参数如果没有传入会读取配置文件的DATA_CACHE_PREFIX参数值,expire参数没有传入则读取DATA_CACHE_TIME配置值作为默认。

2.缓存设置

// 设置缓存
S(‘name’,$value);
// 缓存数据300秒
S(‘name’,$value,300);
// 采用文件方式缓存数据300秒
S(‘name’,$value,array(‘type’=>’file’,’expire’=>300));

3.缓存读取

// 读取缓存
$value = S(‘name’);

4.缓存删除

// 删除缓存
S(‘name’,null);

5.对象方式缓存

// 初始化缓存
$cache = S(array(‘type’=>’xcache’,’prefix’=>’think’,’expire’=>600));
$cache->name = ‘value’; // 设置缓存
$value = $cache->name; // 获取缓存
unset($cache->name); // 删除缓存

6.缓存队列

//设置了length参数后,系统只会缓存最近的100条缓存数据。
S(array(‘type’=>’xcache’,’length’=>100,’expire’=>60));

7.具体操作,我的代码如下

  public function test()
{
$cacheConfig = array(
‘type’ => ‘file’,
‘expire’ => 60,
‘prefix’ => ‘order_dbcache
);
if(!$num = S(‘test’,’’,$cacheConfig)){
sleep(10);
$num = 11;
S(‘test’,$num, $cacheConfig);
}
echo $num;

}</pre>

8.访问该方法,生成缓存文件

第一次访问时间

第二次访问时间

说明已经使用上缓存了。

坚持原创技术分享,您的支持将鼓励我继续创作!