当用户刷新网页或有大量用户访问网站时,就会产生大量数据库查询进程,这不但拖慢了网页打开速度,同时也给服务器带来了很大压力。
作为php菜鸟,今天刚刚接触到了 memcache 这个东东,于是自己跟着文档做了一个实例,一方面鼓励自己,另一方面等大神轻喷~
<?php header("Content-Type:text/html;charset=utf-8"); //创建memcache对象 $mem = new Memcache; //连接memcache服务器 $mem->connect("localhost",11211); $sql = "select id,name,pass,age,sex,email from user order by id"; $key = md5($sql); //可用SQL语句做键值 //直接从内存中要数据 $data = $mem->get($key); //如果内存中没有数据,就从数据库中取出 if (empty($data)) { //数据库连接操作 try{ $pdo = new PDO("mysql:host=localhost;dbname=phpdemo", "root", ""); }catch(PDOException $e){ echo "数据库连接失败,原因是".$e->getMessage(); } $stmt = $pdo->prepare($sql); $stmt->execute(); $data = $stmt->fetchAll(PDO::FETCH_ASSOC); $mem->add($key, $data, MEMCACHE_COMPRESSED, 5); //5秒 echo "<br>这是第一次访问,从数据库访问并存到内存中!"; } echo "<pre>"; print_r($data); echo "</pre>"; //关闭连接 $mem->close(); ?>
时间: 2024-10-13 01:20:54