论坛风格切换
离线ensoon
 

发帖
166
金币
0
威望
15
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-10-17
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;
open source ,like douban.com [color=#ff0000][url]www.ensoon.com[/url][/color]
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
提到某人:
选择好友
上一个 下一个