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服務

相關文章
相關標籤/搜索