Memcache缓存的使用

作者:谢高升 发布:2017-11-02 浏览:1998次

先说一下之前的需求;

由于之前是一直用的直接读取数据库;每到周六周日服务器就会挂掉,英文访问量很大;对sql各种优化效果也不是很好;后来就采用了Memcache缓存,缓存之存储用户的手机号和Mac地址,

<?php
    include 'dbo.php';
 $memcache = new Memcache;
 @$memcache->connect('localhost', 11211) or die ("Could not connect");
 $mac = $_GET['mac'];
 $phone = $_GET['phone'];
 
 if(!$memcache->get("$mac")){
        //由于是认证一次之后就是永久的老用户;所以不设置有效期了
       $memcache->set($mac,$phone);
       //也可以写一下数据库
       insertdata($mac,$phone);
       //如果是redis的话可以直接写到list里面然后定时任务去pop这个list
    }else{
        $resArr = $memcache->get("$mac");
        $dev_code = $resArr['dev_code'];
        $shopcode = $resArr['ccode'];
        $arr = array($shopcode, $dev_code);
    }
   
   
   //写数据库的方法 
  function insertdata($mac,$phone){
      $dbo = new mysqldb();
      $sql = "insert into phone_record(mac,phone) values($mac,$phone)
       on duplicate key update phone= $phone";
       
      $re =  $dbo->excute($sql);
      return $re;
  }


标签: memcache