11 三 2009 @ 2:18 下午 

有时程序会遇到一些大量使用缓存的地方,但又不能都放在一起,因为I/O的读写也要考虑,下面两种方法可以很好的处理这个问题

方法一:   以前后缀缓存

//note 得到用户信息
   $getUser = getUserInfo($uid);

   if(strlen($getUser[0]['uid']) == 1){
    $IdEnd = ‘a’;
    $IdStar = ‘a’;
   }else{
    $IdEnd = substr($getUser[0]['uid'], -2);
    $IdStar = substr($getUser[0]['uid'], 0,2);
   }

   $cacheDir = MOOPHP_DATA_DIR.’/site/’.$site.’/’.$IdEnd.’/';
   $cacheFile = $cacheDir.$IdStar.’.php’;
   MooMakeDir($cacheDir);
   $show = array();
   if(file_exists($cacheFile)) {
    include($cacheFile);
   }

   $show[$getUser[0]['uid']] = array(‘name’ => $getUser['name'],
            ’age’ => $getUser['age'],
            );
   $siteUserPetShow = “<?php\r\n\$show = “.var_export($show, TRUE).”;\r\n”;
   MooWriteFile($cacheFile, $siteUserPetShow);

方法二:以时间分目录缓存

//note 目录建立
$time = time();
$fileDir = MOOPHP_DATA_DIR.’/beauty/’.date(‘Y-m’, $time).’/’.date(‘Ymd’, $time).’.php’;
 MooMakeDir(dirname($fileDir));
其它与等一种方法想同   

以上两点其实都是分目录尽量减小缓存的大小,不同就在于分别缓存的方法

Posted By: 大宇
Last Edit: 11 三 2009 @ 02:18 下午

EmailPermalinkComments (0)
Tags
Tags:
Categories: php, php技巧

 Last 50 Posts
Change Theme...
  • Users » 1
  • Posts/Pages » 165
  • Comments » 12
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

关于



    No Child Pages.

Linux命令手册



    No Child Pages.

php.ini配置



    No Child Pages.

Memcache协议



    No Child Pages.