phpwind 缓存体系 是没有把file 缓存和Memory 缓存抽象成一个类,所以操作缓存起来比较麻烦,分成两种缓存
一)memcache 缓存
<?php
/**
*phpwind memcache 的应用
* *
*memcache 后file cache 分开来说
*/
require_once('global.php');
if (Perf::checkMemcache()) {//确认memcache 是否可用
$_cacheService= Perf::getCacheService();
$keyName= 'test';
$data= $_cacheService->get($keyName);//取值
if($data){
echo'Data from cache:'.$data;
}else{
$data= time();
$_cacheService->set($keyName,$data,3600);//设定值
}
echo$data;
$_cacheService->delete($keyName);//删除某个缓存
$_cacheService->flush();//清空所有缓存
}
二)文件缓存
<?php
/**
* 文件缓存
*phpwind 文件缓存有三种方式
* 1)真正的文件方式
* 2)数据库方式
* 3)数据库方式+memcache
*
* 第一种方式的缺点就是 当网站很大的时候,有很多台机器,一般采用文件共享来保持数据一致性,
* 而数据共享(nfs)的问题是他写文件的时候有时候会出现文件出错,这时候导致是整个网站打不开
*
* 第二种方法 缺点是数据库压力比较大
*
* 第三种方式是最优的(缺点,当memcache crash 掉的时候比较麻烦)
*
* 那我们应该怎么样来写文件缓存呢,我们怎么选择哪种方式呢,实际上你只要直接用 pwCache 里面
* 的方法,就可以了,因为你采用哪种方式,后台管理是可以选择的
*/
require_once('../global.php');
$data = time();
$filename = R_P.'test.txt';
pwCache::setData($filename,$data);//保存文件
pwCache::getData($filename);//读取文件 相当于include
pwCache::deleteData($filename);//删除文件
/**
* 不建议使用下面的方法,除非你真的就想以真正的文件方式保存,如:小说内容,歌词
*/
pwCache::writeover($filename,$data);//写文件
$content = pwCache::readover($filename);
echo 'filedata:'.$content;