Memcache缓存的使用

本文介绍了一种通过采用Memcache缓存技术来减轻数据库访问压力的方法,特别针对周末访问高峰时段导致的服务器负载问题。文章提供了一个具体的PHP实现案例,展示了如何存储用户的手机号和MAC地址,以及如何在命中缓存时进行数据读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

博客原文地址https://xgs888.top/post/view?id=63

先说一下之前的需求;

由于之前是一直用的直接读取数据库;每到周六周日服务器就会挂掉,英文访问量很大;对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;
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谢高升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值