php缓存技术(减少数据库服务器压力)

  1. 静态缓存(保存在磁盘上的静态文件,用PHP生成数据放入静态文件中)

        a)  php操作缓存

                         i.  生成缓存

                         ii.  获取缓存

                         iii. 删除缓存

   判断目录是否存在:is_dir()

   dirname(__FILE__):就可以获取文件的当前目录

   mkdir():创建目录

   unlink():删除文件

<?php
//静态缓存
class File{
 const EXT=".txt";
 private $_dir;
     public function __construct(){
       //默认路径
       $this->_dir=dirname(__FILE__).'/files/';
     }
     /**
       *$key      缓存文件名
       *$value   缓存值
       *$path    缓存文件目录
     **/
     public function cacheData($key,$value=' ',$path=' '){
        $filename=$this->_dir.$path.$key.self::EXT;
        
        if($value!==' '){//将value值写入缓存
        
           if(is_null($value)){//删除缓存文件
              return @unlink($filename);
           }
           $dir=dirname($filename);
           if(!is_dir($dir)){
             mkdir($dir,0777);//创建缓存目录文件
            }
            return file_put_contents($filename,json_encode($value));
        }
        
    //获得缓存
    if(!is_file($filename)){
      return false;
    }else{
     return json_encode(file_get_contents($filename),true);
    }
 }
}


$data=array('id'=>1,'name'=>'ann');
//实例化file类
    $file=new File();
//生成缓存
   if($file->cacheData('index_cache',$data))    {
     echo 'success';
     }else{
      echo 'error';
    }
    
//获得缓存
/*   if($file->cacheData("index_cache")){
       var_dump($file->cacheData("index_cache"));
       }else{
      echo 'error';
      } */
      
 //删除缓存
 /*  if($file->cacheData('index_cache',null)){
    echo 'success';
    } else{
    echo 'errors';
    }*/
 
    
?>

2.Memcache redis缓存

设置缓存

设置缓存15秒后失效

获得缓存值:

php操作Memcache(更多可以参考PHP手册)

 1.安装memcache扩展

 2.l连接服务-connect('memcache_host',11211);

 3.set 设置缓存

 4. get 获取缓存

 

定时任务(Linux系统)

    定时任务命令

        1.定时任务服务提供crontab命令来设定服务

        2.crontab -e  //编辑某个用户的cron服务

        3. crontab -l //列出某个用户cron服务的详细内容

        4.crontab -r //删除某个用户的cron服务

 

posted @ 2015-07-03 17:35  ^wxp_幸福女孩儿$  阅读(369)  评论(0编辑  收藏  举报