存取在内存中 以MD5($sql)进行存取
<?php
//查询数据库,使用缓存机制 简单列子$mem= new Memcache;
//进行连接
$mem->addserver("127.0.0.1",11211);
//进行数据库 sql拼接
//
$sql= " select * from user";
//以md5方式 作为键值key 32
$key= md5($sql);
//取数据 从数据库取值
$data= $mem->get($key);
//判断数据$data是否有值
if(empty($data)){
//如果$data是空,则从数据库 进行连接
try{
//连接数据库
$pdo= new pdo('mysql:host=localhost;dbname=bookmarks', 'bm_user', 'password');
}
catch(PDOException $e){
echo "数据库连接失败".$e->getMessage();
}
//执行查询语句,获得数据
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data= $stmt->fetchAll(PDO::FETCH_ASSOC);
$mem->set($key,$data,MEMCACHE_COMPRESSED,10);
echo "从数据库取值放在内存中呢";
}
echo"<pre>";
print_r($data);
echo"</pre>";
?>
运行结果:
第一次:
从数据库取值放在内存中呢
Array ( [0] => Array ( [id] => 25 [username] => [password] => 2939d0369753eab0bb6313cf02ab2dc2 [regtime] => 1429426065 [email] => 349313949@qq.com [token] => d41d8cd98f00b204e9800998ecf8427e [token_exptime] => 1429512465 [status] => 1 ) [1] => Array ( [id] => 34 [username] => [password] => 2939d0369753eab0bb6313cf02ab2dc2 [regtime] => 1429447082 [email] => 1273137153@qq.com [token] => b8c9a6c622c3f505f028c35557e0ed18 [token_exptime] => 1429533482 [status] => 1 ) )
每隔10s从数据库进行取数据
Array ( [0] => Array ( [id] => 25 [username] => [password] => 2939d0369753eab0bb6313cf02ab2dc2 [regtime] => 1429426065 [email] => 349313949@qq.com [token] => d41d8cd98f00b204e9800998ecf8427e [token_exptime] => 1429512465 [status] => 1 ) [1] => Array ( [id] => 34 [username] => [password] => 2939d0369753eab0bb6313cf02ab2dc2 [regtime] => 1429447082 [email] => 1273137153@qq.com [token] => b8c9a6c622c3f505f028c35557e0ed18 [token_exptime] => 1429533482 [status] => 1 ) )