代码写成后不断的往数据库插入数据,可以发现
当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); } ?>