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

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

        a)  php操做缓存php

                         i.  生成缓存redis

                         ii.  获取缓存json

                         iii. 删除缓存缓存

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

   dirname(__FILE__):就能够获取文件的当前目录spa

   mkdir():建立目录code

   unlink():删除文件blog

<?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缓存crontab

设置缓存get

设置缓存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服务

相关文章
相关标签/搜索