php 连接 memcached 并调用

话不多说,上代码,自己看注释

<?php
header("Content-type: text/html; charset=utf-8"); 
$mem = new Memcache();
$mem->connect('127.0.0.1',11211);//连接memcached
$id = 3;
$sql = "SELECT * FROM junyi_user WHERE id='$id'";
$key = md5($sql);
//数据库查询是否已经缓存到memcahced服务器中
if(!($datas = $mem->get($key)))
{
    echo 'mysql<br />';
    //如果在memcached中没获取过数据,连mysql获取
    mysql_connect('127.0.0.1','root','root');//连接数据库
    mysql_select_db('junyiadmin');//默认连接的数据库
    $result = mysql_query($sql);//执行sql
    //循环获取结果集里的数据组成数组
    //mysql_fetch_assoc()获取结果集里的一行并返回,如果没有了则返回false
    while($row = mysql_fetch_assoc($result))
    {
        $datas[] = $row;
    }
    //再把mysql获取的数据保存到memcached中,供下次使用
    //flag,设置存储方式是否使用MEMCACHE_COMPRESSED指定对值进行压缩
    //设置储存的时间,以秒为单位
    var_dump($mem->set($key,$datas,false,1000));

    $mem->close();//释放资源
    print_r($datas);
}
else
{    
    var_dump($mem->get($key));
    $mem->delete($key);
    $mem->close();
    echo 'memcached缓存的数据<br />';
}

 

posted @ 2019-05-13 17:33  钧一  阅读(2036)  评论(0编辑  收藏  举报