php 使用 Memcache 例子

代码写成后不断的往数据库插入数据,可以发现

当set时:理论上速度变慢,但数据同步

当get时:理论上速度变快,但数据不同步,需要缓存失效后重新请求set方法

<?php

$mem = new Memcache();
$mem->connect("localhost",11211);
$str = $mem->get('users');

if($str==null){
    
    /*缓存不存在则查询数据库*/
    $con = mysql_connect("localhost","root","root");
    if (!$con){
        die('Could not connect: ' . mysql_error());
    }
    mysql_select_db("user", $con);    
    $result = mysql_query("SELECT * FROM user");
    while($row = mysql_fetch_array($result)){
        $array[] = $row;
    }
    $data = json_encode($array);
    
    /*把查询到的数据放进缓存里*/
    $res = $mem->set('users',$data, MEMCACHE_COMPRESSED,3);//缓存时效为3秒
    
    /*查询缓存里的数据*/
    $str = $mem->get('users');
    echo "set<br>";
    print_r ($str);
    
}


/*缓存存在则直接查询缓存*/
else{
    echo "get<br>";
    print_r ($str);
}

?>

 

posted @ 2016-10-20 11:09  fleam  阅读(864)  评论(0编辑  收藏  举报