PHP-使用Memcache缓存->解决数据库的高并发

首先我们要知道为什么要使用Memcache来减少数据库的请求次数:

1.关系型数据库本身就是个庞然大物,处理过程非常耗时(如解析SQL语句,事务处理等)。如果对关系型数据库进行高并发读写(每秒上万次的访问),那么它是无法承受的。

2.对于大型的SNS网站,每天有上千万次的数据产生(如twitter, 新浪微博)。对于关系型数据库,如果在一个有上亿条数据的数据表种查找某条记录,效率将非常低。

通过以下代码实现Memcache缓存数据库里的数据:

这是一个laravel5.7框架,首先我们要引用它的一个类:
  

use Memcache;

以下是具体代码实现
public function mem()
    {
        $mem=new Memcache();              //实例化这个memcache对象
        if($mem->connect("127.0.0.1")) {    //判断跟本机连接是否成功
            if($mem->get('list')){            //检测有没有缓存过这个key
               //  echo '有';
                $hq=$mem->get('list');        //把这个key对应的val取出
                print_r($hq);
            }else{                        //如果没有的话
                //echo '没有';
                $list=DB::table('hy_user')->get();    //就把表里的数据取出来
                $mem->add('list',$list,0);    //添加这个key并且把表里数据设成它的val下次再执行在上面检测就有这个key,so就不用连接数据库了
                $hq=$mem->get('list');  //把这个key对应的val取出
                print_r($hq);
            }


        }else{
            echo"连接Memcache服务器失败!";
        }



    }

猜你喜欢

转载自blog.csdn.net/qq_43572631/article/details/84979879