zoukankan      html  css  js  c++  java
  • 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服务

  • 相关阅读:
    图书排列
    L1-059 敲笨钟 (20 分)
    区间移位
    取球博弈
    poj 2456 Aggressive cows
    对局匹配
    发现环
    数字划分
    哥德巴赫分解
    把数组排成最小的数
  • 原文地址:https://www.cnblogs.com/Ann-wxp/p/4619294.html
Copyright © 2011-2022 走看看